2023-10-24-동국대SW역량강화캠프-분해합
문제
어떤 자연수의 분해합은 그 자연수와 자연수를 이루는 각 자리수의 합이다. 예를 들어, 123의 분해합은 129(123+1+2+3)가 된다.
또, 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어 123은 129의 생성자가 된다.
자연수가 주어졌을 때, 그 자연수의 가장 작은 생성자를 구하는 프로그램을 작성해보자.
입력
첫째 줄에 자연수 N(1≤N≤1,000,000)이 주어진다.
출력
첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다.
예제 1 입력
216
예제 1 출력
198
예제 2 입력
158
예제 2 출력
151
Source
n = int(input())
flag = False
for i in range(n):
j = i
_sum = 0
while (j > 0):
_sum += j % 10
j //= 10
if(_sum + i == n):
print(i)
flag = True
break
if (flag == False):
print(0)