Python Program to Generate Perfect Numbers in an Interval
This python program generates perfect numbers in an interval given by user.
A perfect number is a positive integer number in which sum of all positive divisors excluding the number itself is equal to that number.
Perfect Number Example: 6 is perfect number since its divisors are 1, 2, and 3. Sum of divisors is: 1+2+3 = 6.
Python Source Code: Generate Perfect Numbers
# Generate Perfect numbers in interval # Function to check perfect number def is_perfect(n): if n< 1: return False perfect_sum = 0 for i in range(1,n): if n%i==0: perfect_sum += i return perfect_sum == n # Reading interval from user min_value = int(input('Enter minimum value: ')) max_value = int(input('Enter maximum value: ')) # Looping & displaying if it is Perfect # Here min_vale & max_value are included print('Perfect numbers from %d to %d are:' %(min_value, max_value)) for i in range(min_value, max_value+1): if is_perfect(i): print(i, end=' ')
Perfect Number Generation: Output
Perfect numbers from -10 to 100000 are: 6 28 496 8128
Perfect Number Generation: Code Explanation
We first read min_value and max_value from user. Function
is_perfect() is used to check whether a given number is perfect or not. We loop from
max_value and pass each number to
is_perfect() function. If this function returns
True, then we print it.