본문 바로가기
프로그램

[파이썬] 문제 : 완전수 판단

by 오디세이99 2022. 11. 14.
728x90
반응형

 

문제 :

자기 자신을 제외한 모든 양의 약수들의 합이 자기 자신이 되 는 자연수를 완전수라고 한다.
파이썬을 활용하여 하나의 정수 n을 매개 변수로 받아 해당 매개 변수 n이 완전수이면 1을 리턴하고 완전수가 아니면 0 을 리턴하는 함수 perfect를 만드시오
- 완전수는 6, 28, 496, 8128 .. 등이라고 합니다.
def perfect(N):        # 함수 선언
    n_sum = 0           # 합계 변수
    for i in range(1, N):   # 반복문 입력받은 수까지 반복
        if (N % i == 0):    # 1 부터 입력 받은 수까지의 수(i) 로 입력받은 수를 나누어 나머지가 0 이면 약수
            n_sum += i       # 약수들을 합함

    if (N == n_sum):        # 약수들의 합이 입력받은 수와 같음녀 완전수
        return 1        # 완전수
    else:
        return 0        # 완전수가 아님


n = int(input("숫자를 입력하세요 : "))

result = perfect(n)
print(result)

결과

숫자를 입력하세요 : 6
1
728x90
반응형

댓글