사자자리
[C언어] 백준 1110번: 더하기 사이클 본문
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;
}
'C언어 > C언어 문제' 카테고리의 다른 글
[C언어] 백준 1547번: 공 (0) | 2022.07.15 |
---|---|
[C언어] 백준 2755번: 이번학기 평점은 몇점? (0) | 2022.07.15 |
[C언어] 백준 1236번: 성 지키기 (0) | 2022.07.14 |
[C언어] 백준 1145번: 적어도 대부분의 배수 (0) | 2022.07.14 |
[C언어] 백준 1037번: 약수 (0) | 2022.07.10 |
Comments