Notice
Recent Posts
Recent Comments
Link
궤도
[백준] 1110번 : 더하기 사이클 본문
문제
풀이
일단 기존의 수가 손상되면 안되니까 N을 temp에 저장한다. 그리고 연산을 통해 얻은 새로운 수를 new_num에 저장하고 N과 new_num이 같을 때까지 while문을 돈다. N_f, N_b는 각각 십의 자리 수와 일의 자리 수다. 적당히 문제보면서 연산 만들어주고 while문 한 번 돌 때마다 count 체크해준다.
소스코드
#include <iostream>
using namespace std;
int main() {
int N, count = 0, new_num = -1, sum, temp;
int N_f, N_b;
cin >> N;
temp = N;
while (N != new_num) {
if (temp < 10) {
N_f = 0;
N_b = temp;
}
else {
N_f = temp / 10;
N_b = temp % 10;
}
sum = N_f + N_b;
new_num = N_b * 10 + sum % 10;
temp = new_num;
count++;
}
cout << count << endl;
}
Comments