반응형
https://www.acmicpc.net/problem/1110
- 문제
해설
26을 사이클 한 번 돌리면 2 + 6 = 8 -> 68이다.
84를 사이클 한 번 돌리면 8 + 4 = 12 -> 42이다.
빨간색 : 더하기 사이클 후 나온 수의 십의 자리 수
주황색 : 더하기 사이클 후 나온 수의 일의 자리 수
식으로 나타내면 n을 사이클 한 번 돌리면 n % 10 * 10 + (n / 10 + n % 10) % 10 이다.
설명하자면 n의 일의 자리 수를 십의 자리 수로, 각 자리 수를 더한 후 일의 자리 수를 일의 자리 수로 놓으면 된다.
n % 10 * 10 -> 6, 4
(n / 10 + n % 10) % 10 -> 8, 2
코드
c
#include <stdio.h>
int main() {
int N;
int temp;
scanf("%d", &N);
if (N < 10) N *= 10; // 10보다 작은 수 0을 붙여 두 자리 수 만들기
int cnt = 0;
temp = N;
while (1) {
cnt++;
temp = temp % 10 * 10 + (temp / 10 + temp % 10) % 10;
if (temp == N) {
break;
}
}
printf("%d", cnt);
return 0;
}
c++
#include <iostream>
using namespace std;
int main() {
int N;
int temp;
cin >> N;
if (N < 10) N *= 10; // 10보다 작은 수 0을 붙여 두 자리 수 만들기
int cnt = 0;
temp = N;
while (1) {
cnt++;
temp = temp % 10 * 10 + (temp / 10 + temp % 10) % 10;
if (temp == N) {
break;
}
}
cout << cnt;
return 0;
}
반응형
'알고리즘 > 백준 문제 풀이' 카테고리의 다른 글
[BOJ/백준] 2562번 최댓값 - [c/c++] 풀이 (0) | 2022.10.11 |
---|---|
[BOJ/백준] - 10818번 최소, 최대 - [c/c++] 풀이 (0) | 2022.10.11 |
[BOJ/백준] 10951번 A + B - 4 - [c/c++] 풀이 (0) | 2022.10.11 |
[BOJ/백준] 10952번 A + B - 5 - [c/c++] 풀이 (0) | 2022.10.10 |
[BOJ/백준] - 10871번 X보다 작은 수 - [c/c++] 풀이 (0) | 2022.10.10 |
댓글