꾸준히 합시다

백준 파이썬 9506번: 약수들의 합 본문

코딩 테스트 문제 풀이

백준 파이썬 9506번: 약수들의 합

tturbo0824 2021. 3. 10. 17:33

www.acmicpc.net/problem/9506

 

9506번: 약수들의 합

어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.  예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.

www.acmicpc.net

문제 유형: 수학, 정수론

 

# Solution 1

while True:
    n = int(input())
    if n == -1: # 입력 값이 -1이면 반복문 종료
        break;
    arr = []
    for i in range(1, n):
        if n % i == 0:
            arr.append(i)
    if sum(arr) == n:
        print(n, " = ", " + ".join(str(i) for i in arr), sep="")
    else:
        print(n, "is NOT perfect.")
Comments