코딩놀이: python C C++

[9506] 약수들의 합

jiheek 2022. 2. 18. 15:52

 

내 정답

num=[]
temp=0
while(temp!=-1):
    temp=int(input())
    num.append(temp)

i=0
for i in num:
    sumlist=[]
    j=1
    while(j<i):  #i까지 약수 search
        if(i%j==0):
            sumlist.append(j)
        j+=1
    if sum(sumlist)==i:
        string = " + "
        list_string = map(str, sumlist) #string.join 쓰기 앞서 int->str 변환
        string_list = string.join(list_string) #string으로 list concat
        print("%d =" % i, string_list)
    elif i == -1:
        exit
    else:
        print("%d is NOT perfect." %i)

결과 화면

total 23줄