https://www.acmicpc.net/problem/9506
약수들을 배열에 저장 후 약수의 합이 k와 같은 경우와 아닌 경우를 조건으로 나누어 결과를 출력한다.
while True:
n = int(input())
if n == -1:
break
arr = []
sum = 0
for i in range(1, n):
if n % i == 0:
arr.append(i)
sum += i
if sum == n:
print(f'{n} = ',end='')
for i in arr:
if i != arr[-1]:
print(f'{i} + ',end='')
else:
print(f'{i}')
else:
print(f'{n} is NOT perfect.')