1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

#include <iostream>
#include <vector>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);

	int ini_num;
	cin >> ini_num;
	int cnt = 0;
	int num;
	while (true){
		if (cnt == 0) { 
			num = ini_num; 
		}
		int digit_1 = num % 10;
		int digit_2 = num / 10;
		int mid_num_1 = digit_1 + digit_2;
		int mid_num_2 = digit_1 * 10 + mid_num_1 % 10;
		cnt++;
		if (mid_num_2 == ini_num) { break; }
		else { num = mid_num_2; }
	}

	cout << cnt;

	return 0;
}

'Problem set' 카테고리의 다른 글

[백준] 1406: 에디터  (0) 2020.12.29
[백준] 1373: 2진수 8진수  (0) 2020.12.29
[백준] 1212: 8진수 2진수  (0) 2020.12.29
[백준] 1158: 요세푸스 문제  (0) 2020.12.29
[백준] 1065: 한수  (0) 2020.12.29
복사했습니다!