-
백준 알고리즘 2331 파이썬Python/Python 알고리즘 2020. 5. 7. 11:32반응형
분해합 성공출처다국어분류
한국어
시간 제한메모리 제한제출정답맞은 사람정답 비율
2 초 192 MB 22471 11351 9394 49.833% 문제
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다.
자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.
출력
첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다.
예제 입력 1 복사
216
예제 출력 1 복사
198
a = int(input()) for i in range(a): i += 1 num = 0 k = [int(d) for d in str(i)] for j in range(len(k)): num += k[j] if (num+i) == a: break else: i = 0 print(i)
반응형'Python > Python 알고리즘' 카테고리의 다른 글
Python 알고리즘 (백준 9375 파이썬) (0) 2020.07.07 Python 알고리즘 (백준 2164) (0) 2020.07.07 파이썬 백준 알고리즘 10870 (0) 2020.04.29 파이썬 백준 알고리즘 3009 (0) 2020.04.29 백준 알고리즘 4153 파이썬 (0) 2020.04.29