Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 숫자가 완전수(Perfect Number)인지 확인하는 프로그램

어떤 수가 자기 자신을 제외한 모든 양의 약수의 합과 정확히 같을 때, 그 수를 완전수(Perfect Number)라고 부릅니다. 예를 들어 6은 1, 2, 3을 약수로 가지며, 1 + 2 + 3 = 6이므로 대표적인 완전수입니다.


파이썬에서 특정 숫자가 완전수인지 확인해야 할 때는 간단한 for 반복문 하나만으로도 손쉽게 구현할 수 있습니다. 아래에서 그 구현 방법을 살펴보겠습니다.

예제 코드

n = 6
my_sum = 0
for i in range(1, n):
    if(n % i == 0):
        my_sum = my_sum + i
if (my_sum == n):
    print("The number is a perfect number")
else:
    print("The number is not a perfect number")

출력 결과

The number is a perfect number

코드 설명

  • 검사하고자 하는 값을 변수 n에 지정합니다. 여기서는 6을 사용했습니다.

  • 약수의 합을 저장할 변수 my_sum을 0으로 초기화합니다.

  • range(1, n)을 통해 1부터 n-1까지의 숫자를 반복하면서, n을 나누어 떨어지게 하는 값 즉, 약수를 찾아 합계에 더합니다.

  • 반복이 끝난 후 계산된 합계가 처음에 정의한 n과 같다면, 해당 숫자는 완전수로 간주됩니다.

  • 판별 결과에 따라 적절한 메시지가 콘솔에 출력됩니다.


완전수의 대표적인 예로는 6, 28, 496, 8128 등이 있으며, 실제로 6 다음으로 작은 완전수는 28(1+2+4+7+14)입니다. 위 코드의 n 값만 바꿔주면 임의의 숫자가 완전수인지 간편하게 판별할 수 있습니다.