JAVA/JAVA 자료구조 알고리즘
JAVA 알고리즘 : 셀프 넘버[백준 4673]
거셩
2017. 4. 19. 12:11
스터디사이트 : https://www.acmicpc.net/
JAVA 알고리즘 : 셀프 넘버[백준 4673]
※ 문제 Url
https://www.acmicpc.net/problem/4673
셀프 넘버
생성자가 없는 숫자를 셀프 넘버라고 한다.
10000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다.
양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자.
예를 들어, d(75) = 75+7+5 = 87이다.
n을 d(n)의 생성자라고 한다.
33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다.
위의 수열에서 33은 39의 생성자이고, 39는 51의 생성자, 51은 57의 생성자이다.
생성자가 한 개보다 많은 경우도 있다. 예를 들어, 101은 생성자가 2개(91과 100) 있다.
입력
입력없음
출력
1
3
5
7
9
20
31
42
53
64
|
| <-- a lot more numbers
|
9903
9914
9925
9927
9938
9949
9960
9971
9982
9993
※ 내가 푼 코드
해당 블로그댓글이나 아래 GitHubGist 코맨트에 태클 얼마든지 환영합니다.