完全数是一种特殊的自然数,它等于其所有真因子(即除了自身以外的约数)之和。在Python中,你可以使用以下代码来找出一定范围内的所有完全数:
-*- coding: utf-8 -*-
a = []
for i in range(1, 1000):
s = 0
for j in range(1, i):
if i % j == 0:
s += j
if s == i:
a.append(i)
print("1000以内的完全数为: %s" % a)
这段代码会输出1000以内的所有完全数。如果你想找出更大的范围内的完全数,只需将`range(1, 1000)`中的`1000`替换为更大的数即可。
另外,如果你需要判断一个给定的数是否为完全数,可以使用以下函数:
def perfectNumber(n):
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
return sum(factors) == n
使用这个函数,你可以检查任意一个数是否为完全数。例如:
print(perfectNumber(28)) 输出:True,因为28是完全数
print(perfectNumber(6)) 输出:True,因为6也是完全数
print(perfectNumber(12)) 输出:False,因为12不是完全数
希望这能帮助你理解如何使用Python来找出和使用完全数