如何使用Python在某个封闭间隔[2,n]中识别并打印所有理想数?
理想数是一个等于其适当除数之和的正整数。最小的完美数是6,是1、2和3的总和。
通过测试给定范围内给定条件下的每个数字,可以找到给定范围内的理想数字。
示例
def print_perfect_nums(start, end):
for i in range(start, end + 1):
sum1 = 0
for x in range(1, i):
# Check if a divisor, if it is, add to sum
if(i % x == 0):
sum1 = sum1 + x
if (sum1 == i):
print(i)
print_perfect_nums(1, 300)输出结果
这将给出输出
6 28