#include <iostream>
int main() {
// 첫째 줄에 N이 주어진다.
int n;
std::cin >> n;
// 처음에 주어진 수의 가장 오른쪽 자리 수와
// 구한 합의 가장 오른쪽 자리 수를 이어 붙여 새로운 수를 만들 수 있다.
// 몇 번만에 원래 수로 돌아올 수 있을까?
int tmp = n;
int next = -1, trial = 0;
while (next != n) {
// 각 자리 숫자를 더한다
int sumn = tmp % 10 + tmp / 10;
// 처음에 주어진 수의 가장 오른쪽 자리 수와
// 구한 합의 가장 오른쪽 자리 수를 이어 붙여 새로운 수를 만들 수 있다.
next = 10 * (tmp % 10 )+ sumn % 10;
tmp = next;
trial++;
}
std::cout << trial << std::endl;
return 0;
}
'Computer Science > C++' 카테고리의 다른 글
백준 C++ | #14 BOJ1927 최소 힙 C++ 문제 풀이 (0) | 2022.08.14 |
---|---|
백준 C++ | #13 BOJ1436 영화감독 숌 C++ 문제 풀이 (0) | 2022.08.12 |
백준 C++ | #11 BOJ1966 프린터 큐 C++ 문제 풀이 (0) | 2022.08.10 |
백준 C++ | #10 BOJ10773 제로 C++ 문제 풀이 (0) | 2022.08.09 |
백준 C++ | #9 BOJ4344 평균은 넘겠지 C++ 문제 풀이 (0) | 2022.08.07 |