본문 바로가기

알고리즘 풀이(JAVA)/백준

[백준] 문제번호 4673(셀프 넘버)(실버 5)(java)

<문제 4673 - 셀프 넘버>

[문제]

[답안]

public class Main {
    public static void main(String args[]){

        boolean [] nonSelf = new boolean[10001];
        for (int i = 1; i <= 10000; i++) {
            int n = notSelfNum(i);
            if (n <= 10000) nonSelf[n] = true;

        }
        for (int j = 1; j <= 10000; j++) {
            if (!nonSelf[j]) System.out.println(j);
        }
    }
    public static int notSelfNum(int a){
        int sum = a;

        while (a != 0){
            sum = sum + (a % 10);
            a = a / 10;
        }
        return sum;
    }
}

출처

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