반응형
출처: http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=319&sca=50
Approach
9999 + 111 = 10110
→ 올림수 처리를 위해 "carry" 변수 이용 (초기값 = 0)
→ 좀 더 긴 자릿수에 맞추어 Leading Zero를 고려합니다. 9999 + 0111
1 + 9 + 0(= carry) = 10 → carry = 1
1 + 9 + 1(= carry) = 11 → carry = 1
1 + 9 + 1(= carry) = 11 → carry = 1
0 + 9 + 1(= carry) = 10 → carry = 1
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char A[11], B[11];
int answer;
int main() {
// freopen("input.txt", "r", stdin);
scanf("%s %s", A, B);
int aLen = strlen(A);
int bLen = strlen(B);
int aIdx = aLen - 1, bIdx = bLen - 1;
int a, b, carry = 0;
while (aIdx >= 0 || bIdx >= 0) {
if (aIdx < 0) a = 0;
else a = A[aIdx--] - '0';
if (bIdx < 0) b = 0;
else b = B[bIdx--] - '0';
if (a + b + carry >= 10) {
carry = (a + b + carry) / 10;
answer++;
}
}
if(!answer) printf("No carry operation.");
else if(answer == 1) printf("%d carry operation.", answer);
else printf("%d carry operations.", answer);
}
반응형
'PS 문제 풀이 > Jungol' 카테고리의 다른 글
[Jungol] 정올 2068 숫자의 종류 (0) | 2021.03.17 |
---|---|
[Jungol] 정올 2501 모양 정돈 (0) | 2021.03.17 |
[Jungol] 정올 1307 문자사각형1 (0) | 2021.03.17 |
[Jungol] 정올 1274 2진수를 10진수로... (0) | 2021.03.17 |
[Jungol] 정올 1262 긴 자릿수 곱셈 (0) | 2021.03.16 |
댓글