Problem Solving/브루트포스
[백준-python] 2231번: 분해합
Dev_en
2022. 1. 24. 00:01
- 분류 - 브루트포스
- 난이도 - 브론즈2
주의사항
생성자를 발견하지 못했을 경우도 잊지 말고 작성해주어야 함
답안 코드
# 입력
n=int(input())
# 1부터 N까지의 수 중 생성자가 발견되면 생성자를, 발견되지 않으면 0을 출력
for i in range(1,n+1):
sum=i # i의 분해합을 저장할 변수
num=i # i의 각 자리의 숫자를 나타낼 변수
# i의 분해합을 구함
while num>0:
sum=sum+num%10
num=num//10
# i가 n의 생성자면 i를 반복문을 탈출하고 i를 출력
if sum==n:
print(i)
break
# i가 반복문을 탈출하지 못한 채로 끝까지 반복을 수행했다면, 생성자를 발견하지 못한 것이므로 0을 출력
if i==n:
print(0)