분해합(백준)
문제 이해
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다.
자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.
나만의 이해
처음에는 permutation을 이용하려고 했는데 그러면 자릿수가 늘어나면 계산량이 너무 많아 진다. 그래서 그냥 무식하게 풀었다.
Python
import sys
taret = int(input())
res =0
for i in range(taret):
bh=list(map(int,list(str(i))))
sh = i
if sum(bh)+ sh == taret:
res =sh
break
print(res)
그냥 단순하게 풀자..
Author And Source
이 문제에 관하여(분해합(백준)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@happyfran67/분해합백준저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)