사자자리

[C언어] 백준 1110번: 더하기 사이클 본문

C언어/C언어 문제

[C언어] 백준 1110번: 더하기 사이클

renne 2022. 7. 10. 10:15

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

 

1110번: 더하기 사이클

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

www.acmicpc.net

#include <stdio.h>
int cycle(int num){
    return (num%10)*10 + (num/10 + num%10)%10;	//사이클을 한 번 돌렸을 때 나오는 새로운 수
}

int main(){
    int n, arg, count = 0, result = 100;
    scanf("%d", &n);
    arg = n;
    
    while (result != n){	//result가 n(처음 입력받은 수)과 같아지면 멈춘다.
    	result = cycle(arg);
    	arg = result;
    	count++;	//사이클을 한 번 돌릴 때마다 1씩 count 증가
	}
	
	printf("%d", count);
	return 0;
}

 

Comments