큰 수 A+B
문제 링크 : https://www.acmicpc.net/problem/10757
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 18022 | 8053 | 6963 | 50.140% |
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
출력
첫째 줄에 A+B를 출력한다.
예제 입력 1
9223372036854775807 9223372036854775808
예제 출력 1
18446744073709551615
- C++ Code
#include <iostream>
using namespace std;
int main()
{
string s1, s2, ans = "";
char ea;
int s1_size, s2_size;
bool carry = false;
cin >> s1 >> s2;
s1_size = s1.size() - 1;
s2_size = s2.size() - 1;
while (s1_size >= 0 || s2_size >= 0)
{
ea = 0;
if (carry)
ea++;
carry = false;
if (s1_size >= 0 && s2_size >= 0)
ea += (s1[s1_size] - '0') + (s2[s2_size] - '0');
else if (s1_size >= 0)
ea += (s1[s1_size] - '0');
else if (s2_size >= 0)
ea += (s2[s2_size] - '0');
if (ea > 9)
{
ea -= 10;
carry = true;
}
ea += '0';
ans = ea + ans;
s1_size--;
s2_size--;
}
if (carry)
ans = '1' + ans;
cout << ans;
return 0;
}