[백준/파이썬] 9506번 약수들의 합 풀이

업데이트:



문제 정보


풀이

문제

입력 수 n의 진약수 합이 n과 같은지 확인해 완전수 여부를 출력하는 문제입니다.

코드

while True:
    n=int(input())
    if n == -1: break
    nums=[]
    for i in range(1, n):
        if n%i==0: nums.append(i)
    print(f'{n} = {" + ".join(map(str,nums))}' if sum(nums)==n else f'{n} is NOT perfect.')

설명

1부터 n-1까지의 약수를 모아 합을 비교하고, 완전수면 약수 식을, 아니면 NOT perfect 문장을 출력합니다.



댓글남기기