[BOJ/C++] 10757 큰 수 A+B

mani·2023년 5월 31일
0

baekjoon_step

목록 보기
73/73

파이썬 같은 언어는 10,000자리 정도의 자연수도 자유롭게 다룰 수 있습니다. 하지만 C/C++이라면 이 문제를 어떻게 풀까요? C/C++ 사용자가 아니더라도 고민해 보면 좋을 것입니다.

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	string A, B;
	cin >> A >> B;

	reverse(A.begin(), A.end());
	reverse(B.begin(), B.end());
	
	while (A.length() > B.length()) {
		B += '0';
	}
	while (B.length() > A.length()) {
		A += '0';
	}

	int carry = 0;
	string ans = "";

	for (int i = 0; i < A.length(); i++) {
		int now = A[i] - '0' + B[i] - '0' + carry;

		ans += to_string(now % 10);
		carry = now / 10;
	}

	if (carry != 0)
		ans += to_string(carry);

	reverse(ans.begin(), ans.end());
	cout << ans;
	return 0;
}
profile
log

0개의 댓글