-
백준 10757번: 큰 수 A+B정수론(Number theory) 2018. 7. 3. 10:45반응형
https://www.acmicpc.net/problem/10757
1. 문제
A+B를 계산하시오.
2. 알고리즘
키워드 - 큰 수, 사칙 연산
* 접근
int 유효 범위가 넘는 숫자의 덧셈이다. 일반적인 사칙 연산으로 풀수 없다.
string 으로 입력을 받고 index 에 따라 처리 하도록 한다.
* 최노키오 소견
아 감히 임재훈씨가...
당황안하고 잘하고 있네요
그렇죠 케리가 있을때 만해야 되요.
이야~ 또한번 감탄하게 하네요. 당황하지 않고 잘 푸네요. 감히 재훈씨가 하하하
전에는 이런 문제 풀면서 당황하면서 멘탈 붕괴 했었는데 많이 침착해 졌네요 호호호
3. 코드
1234567891011121314151617181920212223242526272829303132333435363738394041#include <iostream>#include <algorithm> // min#include <functional>#include <math.h>#include <string>#include <vector>typedef unsigned long long ull;using namespace std;// 메모리를 과하게 사용하면 안됨int main() {ios::sync_with_stdio(false); cin.tie(0); // scanf 안쓸 경우 쓰세요. Cin 사용시string a, b;cin >> a >> b;string rA = a;reverse(rA.begin(), rA.end());string rB = b;reverse(rB.begin(), rB.end());string sol;int carry = 0;int size = max(rA.size(), rB.size());for(int i = 0; i<size; i++) {int a = (i < rA.size()) ? rA[i] - '0' : 0;int b = (i < rB.size()) ? rB[i] - '0' : 0;int sum = a + b + carry;carry = sum / 10;sol.push_back(char(sum % 10 + '0'));}if(carry)sol.push_back(char(carry % 10 + '0'));reverse(sol.begin(), sol.end());cout << sol;return 0;}cs 반응형'정수론(Number theory)' 카테고리의 다른 글
백준 2355번: 시그마 (0) 2018.07.15 백준 10610번: 30 (0) 2018.07.10 백준 1850번: 최대공약수 (0) 2018.07.03 백준 1065번: 한수 (0) 2018.07.03 백준 13241번: 최소공배수 (0) 2018.07.03