-
4673 백준개발 공부/Python 2022. 8. 22. 23:52
numbers = set() not_self = set() for i in range(1,10001): numbers.add(i) for j in str(i): i += int(j) not_self.add(i) self_number = sorted(numbers - not_self) for i in self_number: print(i)
def self_num(n): a = set(range(1,n+1)) b = set() for i in range(n+1): x = i + sum(map(int, str(i))) if x <= 10000: b.add(x) else: continue c = a-b return sorted(list(c)) for t in self_num(10000): print(t)
def d_func(n): m = n n = str(n) for i in n: m += int(i) if m <= 10000: not_self.add(m) d_func(m) return not_self numbers = set() not_self = set() for i in range(1,10001): numbers.add(i) not_self.union(d_func(i)) self_number = sorted(numbers - not_self) for i in self_number: print(i)
num = [True]*10001 def d(n): temp = n ans = n while temp>0: ans += temp%10 temp //= 10 if ans > 10000: return num[ans] = 0 d(ans) for i in range(1,10001): if num[i] == True: d(i) for i in range(1,10001): if num[i] == True: print(i)
둘다 좋은 재귀 코드인진 모르겠다 좋은 재귀 예제를 보고 자야지
'개발 공부 > Python' 카테고리의 다른 글
*args, **kwargs (0) 2022.08.22 백준 반복문 핵심 코드 for _ in range(n): (0) 2022.08.19 생활코딩 6시간 기초 강의 정리 (주피터 노트북) (0) 2022.07.04