본문 바로가기
알고리즘/완전탐색

[백준][Python] 2231번 분해합

by 임짠짠 2022. 7. 4.
반응형
 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

 

코드

n = int(input())
flag = 0
for i in range(1,n+1):
	num = list(map(int,str(i)))
	num = i + sum(num)
	if n == num:
		print(i)
		flag = 1
		break
if flag == 0:
	print(0)

 

설명

숫자를 str형으로 받아서 숫자 하나씩 list에 넣었다. 

가장 작은 생성자를 찾아야 되기 때문에 1부터 시작을 했다. for문이 끝날 때까지 flag 값이 0이면 생성자가 없는 경우이므로 0을 출력해줬다.

반응형

댓글