Perfect Number Check

Check if a number is perfect number.

Logic BuildingIntermediate
Logic Building
# Take number
num = int(input("Enter a number: "))

# Find sum of proper divisors
divisor_sum = 0
for i in range(1, num):
    if num % i == 0:
        divisor_sum += i

# Check perfect number
if divisor_sum == num:
    print("Perfect number")
else:
    print("Not a perfect number")

Output

Enter a number: 6
Perfect number

Enter a number: 10
Not a perfect number

Perfect number: sum of proper divisors equals the number.

Key Concepts:

  • Find all divisors from 1 to num-1
  • Sum them
  • Compare with original number