[백준] 10757 – 큰 수 A+B

큰 수 A+B

문제 링크 : https://www.acmicpc.net/problem/10757

시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초256 MB180228053696350.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;
}
이 글은 백준, 기초 개발실력 다지기, ICT 카테고리에 분류되었고 , , , , , , , , , 태그가 있습니다. 고유주소 북마크.

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.