반응형
출처: SWEA
Input
2
1 2
100000000000000000000000001 9
Output
#1 3
#2 100000000000000000000000010
자릿수가 작지 않기 때문에 문자열 배열을 이용해서 처리
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
int testCase; cin >> testCase;
for (int tc = 1; tc <= testCase; ++tc) {
string A, B, result;
cin >> A >> B;
// 더 작은 숫자 자릿수 채워주기
int n = A.size(), m = B.size(), len = max(n, m);
if (n > m) for (int i = 0; i < n - m; i++) B = "0" + B;
else for (int i = 0; i < m - n; i++) A = "0" + A;
int w = 0, sum;
for (int i = len - 1; i >= 0; i--) {
sum = (A[i] - '0') + (B[i] - '0') + w;
if (sum >= 10) w = 1, result.push_back(sum - 10 + '0');
else w = 0, result.push_back(sum + '0');
}
if (w) result.push_back('1');
reverse(result.begin(), result.end());
cout << "#" << tc << " ";
cout << result;
cout << '\n';
}
}
반응형
'PS 문제 풀이 > SWEA' 카테고리의 다른 글
[SWEA] 4007 간담회 참석 (0) | 2021.02.25 |
---|---|
[SWEA] 4066 All Pair Shortest Path (0) | 2021.02.25 |
[SWEA] 9780 외계인 침공 (0) | 2021.02.24 |
[SWEA] 3408 세가지 합 구하기 (0) | 2021.02.24 |
[SWEA] 3456 직사각형 길이 찾기 (0) | 2021.02.24 |
댓글