Home »
Python »
Python Programs
Python program to find perfect number
Checking perfect number: What is perfect number? How to check whether a given number is perfect number of not in Python?
By Ankit Rai Last updated : January 04, 2024
Problem statement
Given an integer number and we have to check whether it is perfect number or not?
This Python program is used to find its all positive divisors excluding that number.
Explanation
For Example, 28 is a perfect number since divisors of 28 are 1, 2, 4,7,14 then sum of its divisor is 1 + 2 + 4 + 7 + 14 = 28.
Note: A perfect number is a positive integer that is equal to the sum of its proper positive divisors.
Python program to find perfect number
# initialisation
i = 2
sum = 1
# take input from user and typecast into integer
n = int(input("Enter a number: "))
# iterating till n//2 value
while i <= n // 2:
# if proper divisor then add it.
if n % i == 0:
sum += i
i += 1
# check sum equal to n or not
if sum == n:
print(n, "is a perfect number")
else:
print(n, "is not a perfect number")
Output
The output of the above example is:
First run:
Enter a number: 28
28 is a perfect number
Second run:
Enter a number: 14
14 is not a perfect number
To understand the above program, you should have the basic knowledge of the following Python topics:
Python Basic Programs »