728x90
문제 링크
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 =
www.acmicpc.net
십의자리수와 일의자리수를 가지고 장난치면서, 원래 입력받았던 수와 같아지는지 알아보는 문제이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
using namespace std;
int main(void){
int N,temp;
cin>>N;
int answer=0;
temp=N;
while(true){
int ten = temp/10;
int one = temp%10;
if((ten+one)%10+10*one==N)
break;
else{
answer++;
temp = (ten+one)%10+10*one;
}
}
cout<<answer+1;
}
|
'알고리즘 > 백준' 카테고리의 다른 글
백준 1182 부분수열의 합- 재귀 브루트포스 (c++) (0) | 2020.02.13 |
---|---|
백준 1987 알파벳 - dfs와 백트래킹 (c++) (0) | 2020.02.12 |
백준 1766 문제집 - 우선순위 큐를 활용한 위상정렬 문제 (c++) (0) | 2020.02.12 |
백준 2252 줄 세우기- 위상정렬 개념공부, 큐를 이용한 위상정렬 (c++) (0) | 2020.02.12 |
백준 18429 근손실 - dfs와 백트래킹 (c++) (0) | 2020.02.12 |