Recent Posts
Notice
No Rules Rules
셀프 넘버 (feat. 백준, 4673번) 본문
728x90
반응형
셀프 넘버
https://www.acmicpc.net/problem/4673
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
반응형
// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
using namespace std;
int solve(register int value) {
register int n = 0;
n += value;
while (value) {
n += value % 10;
value /= 10;
}
return n;
}
int main() {
ios::sync_with_stdio(false), cin.tie(NULL);
bool arr[10001]{ false };
for (register int i = 1, v; i <= 10000; ++i) {
v = solve(i);
if (v <= 10000)
arr[v] = true;
}
for (register int i = 1; i <= 10000; ++i)
if (!arr[i])
cout << i << "\n";
return 0;
}
// *&)*@*
- d(1)은 1 + 1 로 2 입니다. 따라서 2는 셀프 넘버가 아닙니다.
- d(2)는 2 + 2 로 4 입니다. 따라서 4는 셀프 넘버가 아닙니다.
- d(3)은 3 + 3 으로 6 입니다. 따라서 6은 셀프 넘버가 아닙니다.
- 여기까지 본다면 1과 3과 5는 셀프 넘버입니다.
- 동일하게 10000까지 d(N)을 구했을 때, 구해진 값은 셀프 넘버 입니다.
- 따라서 셀프 넘버가 아닌, 즉 arr가 false인 인덱스 값을 모두 출력합니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
어린 왕자 (feat. 백준, 1004번) (0) | 2022.08.10 |
---|---|
한수 (feat. 백준, 1065번) (0) | 2022.08.10 |
정수 N개의 합 (feat. 백준, 15596번) (0) | 2022.08.10 |
평균은 넘겠지 (feat. 백준, 4344번) (0) | 2022.08.10 |
OX퀴즈 (feat. 백준, 8958번) (0) | 2022.08.10 |
Comments