📜  python中的完美数(1)

📅  最后修改于: 2023-12-03 15:34:26.365000             🧑  作者: Mango

Python中的完美数

在数学中,完全数是指除自身以外的所有正因数之和等于自身的正整数。一个简单的例子是6,因为6能够被1、2和3整除,所以它的所有正因数的和是1 + 2 + 3 = 6。

判断一个数是否是完美数

在Python中,我们可以使用循环来判断一个数是否是完全数。以下代码演示了如何判断一个数是否是完全数:

def is_perfect_number(number):
    factors = []
    for i in range(1, number):
        if number % i == 0:
            factors.append(i)
    if sum(factors) == number:
        return True
    else:
        return False

运行is_perfect_number(6)将返回True。我们也可以使用列表推导式来实现上述函数:

def is_perfect_number(number):
    factors = [i for i in range(1, number) if number % i == 0]
    return sum(factors) == number
查找完美数

要查找所有的完全数,我们可以使用循环来遍历所有可能的数字。以下代码演示了如何查找小于10000的所有完美数:

for number in range(2, 10000):
    if is_perfect_number(number):
        print(number)

输出结果为:

6
28
496
8128

在实际的程序中,我们可能只需要少量的完美数,因此可以设置一个更小的上限,如下所示:

def find_perfect_numbers(limit):
    perfect_numbers = []
    for number in range(2, limit):
        if is_perfect_number(number):
            perfect_numbers.append(number)
    return perfect_numbers

这个程序将返回小于limit的所有完美数。

结论

在Python中找到完美数非常容易。通过遍历每个数字并使用简单的循环语句,我们可以使用Python撰写一个高效的程序来查找完美数。