9506-약수들의 합(python)

지환·2023년 8월 26일
0

백준(python)

목록 보기
17/67

출처 | https://www.acmicpc.net/status?user_id=ohjihwan123&problem_id=9506&from_mine=1

코드


while True:
    
    n = int(input())
    temp = []
    if n == -1:
        break
    
    for i in range(1,n): # 이렇게 되면 자기 자신은 제외한 나머지 성립
        if n % i == 0: # 약수를 저장하는 부분 
            temp.append(i)
    
    if sum(temp) == n: # 약수를 모두 더한 합이  == n이랑 같으면, 즉, 완전수인경우
        print(n, "=", end = ' ')
        print(*temp, sep = ' + ')
    else:
        print("%d is NOT perfect." %n)
        
        

문제풀이

    if sum(arr) == n:
        print(n,"=",end=" ")
        print(*arr,sep=" + ")
  • 해당 문제를 풀기 위해선 언패킹의 개념을 숙지해야한다. 필자도 이 문제를 풀면서 해당 부분을 알게 되었다. 알고리즘 공부를 할 때 알아두면 좋을 내용이라 판단되어 블로그에 공유한다.
profile
아는만큼보인다.

0개의 댓글