如何使用Python识别和打印某个封闭区间[2,n]中的所有完全数?
完全数是指等于其真因数之和的正整数。最小的完全数是6,它由1、2和3相加得到。
您可以通过测试给定范围内的每个数字来找到完全数。
阅读更多:Python 教程
示例
def print_perfect_nums(start, end):
for i in range(start, end + 1):
sum1 = 0
for x in range(1, i):
# 检查因子是否为约数,如果是,则将其添加到总和中
if(i % x == 0):
sum1 = sum1 + x
if (sum1 == i):
print(i)
print_perfect_nums(1, 300)
输出
这将给出以下输出结果
6
28