이 문제의 핵심은 생성자가 무한대로 있다는 것.
범위가 10000 이하이므로, 10000 이하의 숫자 - 생성자의 수 가 셀프넘버의 숫자가 될 것이다.
s1 = set(range(1, 10001))
s2 = set()
for i in range(1, 10001):
for j in str(i):
i += int(j)
s2.add(i)
s3 = sorted(s1 - s2)
for i in s3:
print(i)
s1이 10000 이하의 숫자이며, s2는 생성자가 존재할 때 넣어준다.
s3는 sorted를 사용했다. sorted는 iterable할 때만 사용이 가능하다.