셀프 넘버 찾기

PDF로 보기

풀어보기

Points: 4
시간 제한: 2.0s
메모리 제한: 64M

출제자:
문제 유형

어떤 양의 정수 k에 대해, k의 각 자릿수의 합을 k에 더한 값을 d(k)라고 부릅시다. 예를 들어 d(75) = 75 + 7 + 5 = 87 입니다.

어떤 수 n이 'k가 존재해서 d(k) = n'을 만족하면 n은 다른 수에 의해 만들어진 수이고, 그렇지 않은 수를 셀프 넘버라고 합니다.

정수 N이 주어졌을 때, 1 이상 N 이하의 셀프 넘버를 모두 찾아 오름차순으로 한 줄에 하나씩 출력하세요.

입력

첫 줄에 정수 N이 주어집니다. (1 ≤ N ≤ 10000)

출력

1 이상 N 이하의 셀프 넘버를 오름차순으로 한 줄에 하나씩 출력합니다.

예시

예시 1

입력

100

출력

1
3
5
7
9
20
31
42
53
64
75
86
97

N=100이면 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97이 100 이하의 셀프 넘버입니다. 예를 들어 1은 어떤 수의 d(k)로도 만들어지지 않으므로 셀프 넘버이고, 2는 d(1)=2이므로 셀프 넘버가 아닙니다.

예시 2

입력

50

출력

1
3
5
7
9
20
31
42

N=50이면 50 이하의 셀프 넘버는 1, 3, 5, 7, 9, 20, 31, 42 입니다.


댓글

아직 댓글이 없습니다.