본문 바로가기
코테

백준 1110번-사이클

by arirang_ 2023. 7. 28.

문제를 3단계로 정리했다.

 

1. 주어진 수의 각 자리의 수를 더한다. (//1)

2. 주어진 수의 오른쪽 자리의 수와 1)에서 구한 수의 오른쪽의 수를 이어 붙여 새로운 수를 만든다. (//2)

3. 2)를 통해 만들어진 새로운 수가 처음 주어진 수와 같은 수가 될 때까지 1)과 2)를 반복한다. (while문으로)

**조건- 10보다 작은 수는 한자리 수이므로 앞에 0을 붙인다.

#include <bits/stdc++.h>
using namespace std;
int n, a, b, sn, snb, cnt=0, newNum=0, fixNum=0;

int main(){
	
	cin >> n;
	fixNum =n;
	do{
		a = n/10;
		b = n%10;
		
		sn = a+b;   //1
		snb = sn%10;
		newNum = b*10 + snb; //2
		
		cnt++;
		n= newNum;
	
	}while(fixNum != newNum);
	
	cout << cnt;
	
	return 0;
}

 

'코테' 카테고리의 다른 글

백준 1159번- 농구 경기  (0) 2023.07.30
백준 1157번 - 단어 공부  (0) 2023.07.28
백준 1051번- 숫자 정사각형  (0) 2023.07.27
백준 1100번- 하얀 칸  (0) 2023.07.27
백준 1076번-저항  (0) 2023.07.27