PS/Baekjoon Online Judge

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

kimyoungrok 2021. 7. 18. 15:05
728x90

백준 - 4673


풀이

생성자가 없으면, d(n)을 형성하지 못하므로, d(n)이 아닌 수들이 셀프 넘버라고 볼 수 있다.


소스코드

#include <stdio.h>
#define MAX 10001
int n_selfNum(int n){
    int result = n;
    for (; n > 0; n /= 10) result += n%10;
    return result;
}
int main(){
    int arr[MAX] = {0, };
    for (int i = 1; i < MAX; i++){
        int n = n_selfNum(i);
        n < MAX && (arr[n] = 1);
    }
    for (int i = 1; i < MAX; i++)
        !arr[i] && printf("%d\n", i);
}

출처

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 5622] 다이얼 [C]  (0) 2021.07.18
[백준 1065] 한수 [C]  (0) 2021.07.18
[백준 15596] 정수 N개의 합 [C]  (0) 2021.07.18
[백준 1110] 더하기 사이클 [C]  (0) 2021.07.18
[백준 11022] A + B - 8 [C]  (0) 2021.07.18