[C언어 코드업 문제풀이] CodeUp 1620 : 자릿수의 합

코드업 1620번 자릿수의 합 문제 풀이 해답입니다.

 

1. 문제 설명

 

어떤 수 n이 입력되면 n의 각 자릿수의 합이 한 자리가 될때까지 계산하여 출력하시오.

예) 1234567

1234567 → 1+2+3+4+5+6+7 = 28 → 2 + 8 = 10 → 1 + 0 = 1

 

2. 입력

 

자연수 n이 입력된다. (1 <= n <= 10,000,000)

 

3. 출력

 

자릿수의 합이 한자리가 될때까지 계산하여 출력한다.

 

4. 입력 예시

 

1234567

 

5. 출력 예시

 

1

 

6. 문제 풀이

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdio.h"
 
 
int f_sum(int n) {
    int value = n;
    int sum = 0;
    while (1) {
        if (value == 0) { break; }
        sum += (value % 10);
        value /= 10;
        //printf("%d", sum);
    }
    return sum;
}
 
int main() {
 
    int i,sum;
    scanf("%d"&i);
    while (1) {
        if (i < 10) { break; }
        i = f_sum(i);
    }
    printf("%d",i);
 
    return 0;
}

 

댓글()