반응형
https://www.acmicpc.net/problem/1110
input n을 입력 받는다.
int n = 0;
cin >> n;
현재 새로운 수, 뒷자리에 추가할 수, 싸이클 횟수를 각각 선언해준다.
이때, now는 가장 처음의 n으로 초기화 해준다.
int now = n; //현재 새로운 수
int re = 0; //뒷자리에 추가 할 수
int cnt = 0; //싸이클 횟수
now와 n이 같을 때까지 while문을 반복해준다.
이때, 위에서 now = n; 로 초기화 했기 때문에, 단순 while문을 사용하면 조건에 걸려 한 번도 수행하지 않게 된다.
따라서 무조건 한 번은 수행해야하므로 do-while문을 사용한다.
do {
re = ((now / 10) + (now % 10)) % 10;
now = (now % 10) * 10 + re;
cnt++;
} while (now != n);
마지막으로 써클의 수를 출력해준다.
cout << cnt << "\n";
[전체 코드]
#include <iostream>
using namespace std;
int main() {
int n = 0;
cin >> n;
int now = n;
int re = 0;
int cnt = 0;
do {
re = ((now / 10) + (now % 10)) % 10;
now = (now % 10) * 10 + re;
cnt++;
} while (now != n);
cout << cnt << "\n";
}
반응형
'Online-Judge > Baekjoon' 카테고리의 다른 글
[Baekjoon] C++ 2920번 음계 (0) | 2021.05.31 |
---|---|
[Baekjoon] C++ 10039번 평균 점수 (0) | 2021.05.31 |
[Baekjoon] C++ 10871번 X보다 작은 수 (0) | 2021.05.21 |
[Baekjoon] C++ 1546번 평균 (0) | 2021.05.20 |
[Baekjoon] C++ 1924번 2007년 (0) | 2021.05.20 |
댓글