#완전수 판단
b=''
a = 1 #-1 입력받으면 0
num = []
while (a):
n = int(input())
if n == -1 :
a= 0
break
else:
for i in range(1,n):
if n%i == 0 :
num.append(i)
num.sort()
if n != sum(num):
print(f"{n} is NOT perfect.")
num=[]
b=''
else:
for j in range(len(num)-1):
b += str(num[j])
b += " + "
b += f'{num[len(num)-1]}'
print(f"{n} = {b}")
num=[]
b= ''
while True:
n = int(input())
if n == -1:
break
num = [] # 매 케이스마다 초기화
for i in range(1, n):
if n % i == 0:
num.append(i)
if n != sum(num):
print(f"{n} is NOT perfect.")
else:
# 약수들을 " + "로 연결
result = " + ".join(str(i) for i in num)
print(f"{n} = {result}")
난 뭔가 변수나 리스트에 저장을 하고 쓰는걸 좋아하는 것 같다....
이렇게 되면 문제가, num과 b를 초기화하지 않아서 몇번이나 오류가 났었음