[백준/Python] 9506번 : 약수들의 합

문제

https://www.acmicpc.net/problem/9506

  • 주어진 수의 약수를 구한 뒤 알맞게 출력하는 문제

풀이

크게 머리를 쓰지 않아도 되는 문제다. 출력하는 부분에서 평소 잘 사용하지 않던 sep, end 파라미터를 활용해봤다. Python에는 역시 편리한 함수가 많은 것 같다.

while True:
    n = int(input())
    ls = []
    if n == -1:
        break
    for i in range(1, n):
        if n % i == 0:
            ls.append(i)

    if sum(ls) == n:
        print(f'{n} = ', end="")
        print(*ls, sep=" + ")
    else:
        print(f'{n} is NOT perfect.')