Code/Code Tree
[Code Tree] 더하기 사이클
코-빗
2024. 2. 25. 18:13
728x90
0보다 크거나 같고 99보다 작거나 같은 정수가 주어질 때, 다음과 같은 연산을 할 수 있습니다.
- 주어진 수의 각 자리의 수를 더합니다.
- 주어진 수의 일의자리 수와 1번에서 구한 수의 일의자리 수를 이어붙여 새로운 수를 만듭니다.
이러한 연산을 계속 반복하다보면 어느 시점에는 처음 주어진 수로 들어올 수 있습니다.
자연수 n이 주어졌을 때, n의 사이클의 길이를 구하는 프로그램을 작성해보세요.
입력 형식
첫 번째 줄에 n이 주어집니다.
- 0 ≤ n ≤ 99
출력 형식
첫 번째 줄에 n의 사이클 길이를 출력합니다.
입출력 예제
예제1
입력:
55
출력:
3
예제2
입력:
1
출력:
60
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int n1, n2, n3 = -1;
n1 = n;
int cnt = 0;
while(n3 != n){
n2 = (n1 / 10) + (n1 % 10);
n3 = ((n1 % 10) * 10) + (n2 % 10);
n1 = n3;
cnt++;
}
cout << cnt;
return 0;
}
*n이 0일 경우를 대비하여 n3를 -1로 초기화 하고 while 반복문을 시작했다.
728x90