백준 문제풀이/브론즈1

백준 1110번 - 더하기 사이클

void_melody 2021. 10. 21. 01:40

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

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

www.acmicpc.net

#include <iostream>
#include <string>

using namespace std;

int main()
{
	int count = 0;
	int temp;
	int n;
	cin >> n;	// 0 <= n <= 99

	
	if (n < 10 && n >0)
	{
		n = 10 * n + n;
		count++;
		temp = n % 10;
	}
	else if (n == 0)
	{
		cout << 1;
		return 0;
	}
	else
	{
		temp = n;
	}
	while (true)
	{
		int a = (n / 10) + (n % 10);
		int b = (n % 10 * 10) + (a % 10);
		count++;

		if (temp == b)
		{
			cout << count;
			break;
		}
		else
		{
			n = b;
		}	
	}
	return 0;
}