본문 바로가기

Programming [Python]/백준 알고리즘 솔루션

#189 백준 파이썬 [9506] 약수들의 합

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

 

 

#Solution

100,000 이하의 완전수는 4개 밖에 존재하지 않는다.

이 것이 바로 선진 코딩

perfect_num = {6 : "6 = 1 + 2 + 3",
               28 : "28 = 1 + 2 + 4 + 7 + 14",
               496: "496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248",
               8128 : "8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064"}

num = int(input())
while num != -1:
    if num in perfect_num:
        print(perfect_num[num])
    else:
        print("%s is NOT perfect." % (num))
    num = int(input())