完美数:定义与代码实现

一个正整数如果恰好等于它的因子之和,这个数就是**'完美数'**,例如 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)

代码说明

  1. perfect_number(n) 函数
    • 循环遍历 1 到 n 的所有整数;
    • 对于每个整数 i,循环遍历 1 到 i-1 的所有整数,找到 i 的所有因子;
    • 如果所有因子的和等于 i,则将 i 添加到结果列表 res 中;
    • 最后返回 res 列表。
  2. n = int(input()):从用户输入中读取一个整数 n。
  3. perfect_numbers = perfect_number(n):调用 perfect_number() 函数获取 [1, n] 范围内的所有完美数。
  4. for num in perfect_numbers::循环遍历 perfect_numbers 列表中的所有完美数,并打印每个完美数。

示例

如果用户输入 10,则程序会输出以下结果:

6

因为 6 是 [1, 10] 范围内唯一的完美数。

完美数:定义、查找及Python代码

原文地址: https://www.cveoy.top/t/topic/cz5F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录