PS/Baekjoon Online Judge

[백준 1110] 더하기 사이클 [C]

kimyoungrok 2021. 7. 18. 14:09

백준 - 1110


풀이

원래의 수로 돌아올 때까지

일의 자리에 10을 곱한 값과, 십의자리/일의자리를 쪼개서 더한 값을 10으로 나누었을 때의 나머지를 더하면 된다.

result = ((N%10)*10) + (((N/10) + (N%10))%10);

소스코드

#include <stdio.h>
int main() {
    int N, circle = 0, result;
    scanf("%d", &N);
    int save_N = N;
    while (1) {
        result = ((N%10)*10) + (((N/10) + (N%10))%10);
        circle++;
        if (result == save_N)
            break;
        N = result;
    }
    printf("%d", circle);
}

출처

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 4673] 셀프 넘버 [C]  (0) 2021.07.18
[백준 15596] 정수 N개의 합 [C]  (0) 2021.07.18
[백준 11022] A + B - 8 [C]  (0) 2021.07.18
[백준 11021] A + B - 7 [C]  (0) 2021.07.18
[백준 15552] 빠른 A+B [C]  (0) 2021.07.18