Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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 30
Archives
Today
Total
관리 메뉴

hwooo

(C) 1110번: 더하기 사이클 본문

Study/Algorithm

(C) 1110번: 더하기 사이클

hwooo 2022. 6. 5. 04:30

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

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

www.acmicpc.net


풀이

한 자릿수일 경우 십의 자리를 계산하기 위해 n_new/10 을 사용.각 자릿수의 합이 2자리가 되는 경우 1의 자리만 추출하기 위해 sum%10 사용.

코드

#include <stdio.h>
int main() {
	int n, n_new, n_1, sum, cnt = 0;
	scanf("%d", &n);
	n_new = n;
	while (1) {
		n_1 = n_new % 10;			// 1의 자리 추출
		sum = n_new / 10 + n_1;			// 각 자리 숫자의 합
		n_new = n_1 * 10 + sum % 10; 		// 새로운 수
		cnt++;					// 사이클 길이

		if (n_new == n) break;
	}
	printf("%d", cnt);
}

'Study > Algorithm' 카테고리의 다른 글

(C) 2562번: 최댓값  (0) 2022.06.06
(C) 10818번: 최소, 최대  (0) 2022.06.06
(C) 10951번: A+B - 4  (0) 2022.06.05
(C) 10952번: A+B - 5  (0) 2022.06.05
(C) 10871번: X보다 작은 수  (0) 2022.06.05