完美数:定义、查找及Python代码
完美数:定义与代码实现
一个正整数如果恰好等于它的因子之和,这个数就是**'完美数'**,例如 6 = 1+2+3。
Python 代码实现
以下 Python 代码可以查找 [1, n] 范围内的所有完美数:
def perfect_number(n):
res = []
for i in range(1, n+1):
factors = []
for j in range(1, i):
if i % j == 0:
factors.append(j)
if sum(factors) == i:
res.append(i)
return res
n = int(input())
perfect_numbers = perfect_number(n)
for num in perfect_numbers:
print(num)
代码说明
perfect_number(n)函数:- 循环遍历 1 到 n 的所有整数;
- 对于每个整数 i,循环遍历 1 到 i-1 的所有整数,找到 i 的所有因子;
- 如果所有因子的和等于 i,则将 i 添加到结果列表 res 中;
- 最后返回 res 列表。
n = int(input()):从用户输入中读取一个整数 n。perfect_numbers = perfect_number(n):调用perfect_number()函数获取 [1, n] 范围内的所有完美数。for num in perfect_numbers::循环遍历perfect_numbers列表中的所有完美数,并打印每个完美数。
示例
如果用户输入 10,则程序会输出以下结果:
6
因为 6 是 [1, 10] 范围内唯一的完美数。
原文地址: https://www.cveoy.top/t/topic/cz5F 著作权归作者所有。请勿转载和采集!