def d(n) : # 분해합 구하는 함수 만들기 d(245)
a = n + sum(map(int, str(n))) # 256 = 245 + 2 + 4 + 5
return a # 256 출력
N = int(input()) # 입력칸
Nlist = list(range(N+1)) # 입력 받은 숫자까지의 리스트 생성
for i in Nlist : # Nlist를 돌며 하나씩 확인해줄 것임
if d(i) == N : # 위에 만들어 준 함수 d(i)가 N과 같을 경우
# 즉, N에 256 입력
# d(i)는 Nlist를 돌며
# 245 + 2 + 4 + 5 = 256에서 멈출 것임
# d(245) = 256 이 되므로
print(i) # 245 출력함
break
if d(i) not in Nlist : # 만약 d(i)가 Nlist에 없다면
# 즉 생성자가 없는 숫자라면
print(0) # 0을 출력함
'아카이브 > 백준문제풀이' 카테고리의 다른 글
[백준/python3] 11050_이항 계수 1 (0) | 2022.01.16 |
---|---|
[백준/python3] 10250_ACM 호텔 (0) | 2022.01.16 |
[백준/python3] 2839_설탕 배달(DP, Greedy) (0) | 2022.01.16 |
[백준/python3] 23351_물 주기(Greedy) (0) | 2022.01.16 |
[백준/python3] 2798_블랙잭(brute force) (0) | 2022.01.16 |