📅  最后修改于: 2023-12-03 15:34:26.365000             🧑  作者: Mango
在数学中,完全数是指除自身以外的所有正因数之和等于自身的正整数。一个简单的例子是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撰写一个高效的程序来查找完美数。