알고리즘
파이썬 백준 4673
shinho0902
2021. 10. 6. 13:48
set을 활용하면 중복을 쉽게 피할 수 있다.
# 함수 d(n)
def d(n):
a = sum(map(int,str(n)))
return a + n
# 전체수
all_num = set(range(1,10001))
# 중복 피하기 위해 set 사용
make_num = set()
# 생성자인것들 add
for i in range(1,10001):
i = d(i)
make_num.add(i)
# 셀프넘버 = 전체넘버 - 생성자넘버
self_num = sorted(all_num - make_num)
# 출력
for i in self_num:
print(i)