4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
문제의 소재
10,000보다 작은 셀프넘버를 모두 출력하는 문제이다.
해답
// BOJ_4673.cpp
#include<iostream>
using namespace std;
const int N = 10000;
int selfnum(int);
int main()
{
bool num[N] = {0};
for (int i=1;i<N;i++)
if (selfnum(i)<N)
num[selfnum(i)] = true;
for (int i=1;i<N;i++)
if (num[i] == false) cout<<i<<"\n";
return 0;
}
int selfnum(int i)
{
return i+i%10+i/10%10+i/100%10+i/1000%10;
}
반응형
댓글