알고리즘

[C] 백준 4673번 : 셀프넘버

88dldl 2023. 1. 7. 02:41

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

 

 

 

 

 

<풀이>

#include <stdio.h>

int main()
{
    int num=1,check[10001]={0},tmp,sum;
    
    while(num<=10000){
        tmp=num;
        sum=num;

        while(tmp!=0){ 
            sum+=tmp%10;
            tmp/=10;
        }
        
        if(sum>10000){
            num++;
        }
        else{
            check[sum-1]=1;
            num++;
        }
    }
    
    for(int i=0;i<10000;i++){
        if(check[i]==0){
            printf("%d\n",i+1);
        }
    }
    
    return 0;
}