๋ฐฑ์ค 9506๋ฒ
์ ๋ ฅ์ผ๋ก ๋ฐ์ n์ด ์์ ์ ์ ์ธํ ๋ชจ๋ ์ฝ์๋ค์ ํฉ๊ณผ ๊ฐ์ผ๋ฉด, ๊ทธ ์๋ฅผ ์์ ์๋ผ๊ณ ํ๋ค.
ex) 6์ 1, 2, 3, 6 ์ ์ฝ์๋ก ๊ฐ์ง๊ณ ์์ต๋๋ค. ์๊ธฐ ์์ ์ ์ ์ธํ ์ฝ์๋ค์ ํฉ์ด n์ ๊ฐ๊ณผ ๊ฐ์ ๋ ์์ ์๊ฐ ๋๋ค.
-> 6 = 1 + 2 + 3
import sys
input = sys.stdin.readline
num_li = []
num = int(input())
while num != -1:
num_li.append(num)
num = int(input())
# -1์ด ์
๋ ฅ์ ๋ค์ด์ฌ ๋๊น์ง ์
๋ ฅ์ ๋ฐ๋๋ค.
for i in range(len(num_li)):
li = []
compare = 0
for n in range(1, num_li[i]):
if num_li[i] % n == 0:
li.append(n) #์ฝ์๋ค์ ๋ฐฐ์ด์ ์ ์ฅ
compare += n#์ฝ์๋ค์ ํฉ ์ ์ฅ
if compare == num_li[i]: #๋ชจ๋ ์ฝ์์ ํฉ์ด n์ ๊ฐ์ด ๊ฐ์ ๋ ์ถ๋ ฅ
print('{} = '.format(num_li[i]), end='')
print(' + '.join(map(str, li)))
else:
print('{} is NOT perfect.'.format(num_li[i]))