728x90
반응형
큰 수 A+B 성공
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 256 MB | 77263 | 35065 | 30473 | 48.621% |
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
출력
첫째 줄에 A+B를 출력한다.
예제 입력 1 복사
9223372036854775807 9223372036854775808
예제 출력 1 복사
18446744073709551615
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
void reverse(char arr[]) {
int len = strlen(arr);
for (int i = 0; i < len/2; i++) {
char t = arr[len-i-1];
arr[len - i-1] = arr[i];
arr[i] = t; //배열을 역순으로 넣어준다.
}
}
int main() {
char a[10001] = { 0 };
char b[10001] = { 0 };
char c[10002] = { 0 };
cin >> a >> b;
reverse(a);
reverse(b); //배열 역순 정렬
int carry = 0; //10이상이라면
int d = max(strlen(a), strlen(b)); //for문 반복 횟수 결정
for (int i = 0; i < d; i++) {
int k = a[i] - '0' + b[i] - '0' + carry; //sum[i]포함해서 더한다
while (k < 0)
k += '0';
if (k > 9 )
carry = 1;
else
carry = 0;
c[i] = k % 10 +'0';
}
if (carry == 1)
c[d] = '1';
reverse(c);
cout << c;
return 0;
}
헤맸는데 c[i] = k %10 +'0' 에서 -'0'을 하면 오류가 생겼다.
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
1026번 보물 파이썬 그리디 알고리즘 (0) | 2022.12.26 |
---|---|
백준 1541번 파이썬 잃어버린 괄호 (0) | 2022.12.25 |
백준 1018번 파이썬풀이 (0) | 2022.11.11 |
백준 11047번 (0) | 2022.10.12 |
백준 1012번 c++풀이 dfs 풀이 (0) | 2022.10.11 |