- 셀프넘버란?
어떠한 숫자 n과 n의 각 자리수를 더해 어떠한 값 k가 나온다.
이때 n을 k의 생성자라고 한다.
이러한 생성자가 없는 숫자를 셀프 넘버라고 한다.ex) 101은 셀프넘버인지 판별
- 생성자 : 91, 100
- 91 + 9 + 1 = 101
- 100 + 1 + 0 + 0 = 101
∴ 101은 생성자가 있으므로 셀프넘버가 아님.
[ 입력 ]
- 입력은 없다.
[ 출력 ]
- 10,000보다 작거나 같은 셀프넘버를 한줄에 하나씩 오름차순으로 출력
생성자가 없는 값이 셀프넘버이므로 생성자를 찾으면 된다.
이 말은 어떠한 수 n으로 어떠한 수 k가 만들어진다면 k는 생성자가 있는 것이다.
1부터 10,000까지의 숫자로 어떠한 값 k를 만들고, k를 1 ~ 10,000 까지의 배열에서 걸러주고 남은 값들이 셀프넘버가 된다.
- 생성자가 있는지 확인하는 함수
( 어떠한 숫자 n과 n의 각 자리수를 더해주는 함수 )
- 1번의 함수를 가지고 1 ~ 10,000이 있는 배열에서 삭제
이 말은 boolean 배열에서 true로 바꿔줌.
- 2번까지의 과정으로 걸러진 배열에서 false, 즉 생성자가 없는 수가 셀프넘버가 되고, 이 값을 출력