큰 수

[Silver III] 큰 수 A+B (2) - 15353

문제 링크

성능 요약

메모리: 2024 KB, 시간: 0 ms

분류

임의 정밀도 / 큰 수 연산, 사칙연산, 수학, 문자열

제출 일자

2024년 7월 12일 09:55:36

문제 설명

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)

출력

첫째 줄에 A+B를 출력한다.


기본 자료형으로 안되는 문제

따라서 String으로 처리해주어야 한다.

관련 유형을 풀어본 적이 없어서 바로 답보고 진행

로직을 한번 보면 알고리즘은 이해된다.

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


int main(){

    string A,B,ret;
    cin>>A>>B;
    int sum=0;
    while(A.size()||B.size()||sum){
        if(A.size()){
            sum+=A.back()-'0';
            A.pop_back();
        }
        if(B.size()){
            sum+=B.back()-'0';
            B.pop_back();
        }
        ret+=sum%10+'0';
        sum/=10;
    }

    reverse(ret.begin(),ret.end());
    cout<<ret<<endl;
    return 0;
}

Categories:

Updated:

Leave a comment