관리 메뉴

Mini

백준 1110 본문

Algorithm/boj

백준 1110

Mini_96 2023. 1. 18. 00:23

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

 

1110번: 더하기 사이클

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

www.acmicpc.net

 

#include <queue>
#include <iostream>
#include <algorithm>

using namespace std;

int n;

int main()
{
	cin >> n;

	if (n < 10) n = n * 10;

	int a;
	a = n; //초기값

	int cnt = 0;
	int temp = -99;
	while (true)
	{
		//int temp;
		if (temp == a)	//초기값과 같으면 사이클출력.
		{
			cout << cnt;
			break;
		}

		//아니면 계속진행
		temp = (n % 10)*10+(n/10+n%10)%10;
		n = temp;
		cnt++;

		//cout << temp<<endl;	//디버깅용 출력
	}
	
}

'Algorithm > boj' 카테고리의 다른 글

백준 10808 알파벳 개수  (0) 2023.01.24
백준 1158 cpp  (0) 2023.01.18
백준 3040  (0) 2023.01.16
백준 1966 프린터 큐  (0) 2023.01.16
백준 17144 미세먼지 안녕!  (0) 2022.08.26