
可以使用 Python 编写一个函数来检查一个整数是否是完美数:
def checkPerfectNumber(n: int) -> bool:
if n <= 1:
return False
sum_factors = 1
sqrt_n = int(n ** 0.5)
for i in range(2, sqrt_n + 1):
if n % i == 0:
sum_factors += i
if i != n // i:
sum_factors += n // i
return sum_factors == n
# 测试
print(checkPerfectNumber(28)) # True
print(checkPerfectNumber(6)) # True
print(checkPerfectNumber(12)) # False
这个函数首先检查 n 是否小于等于 1(因为 1 不是完美数),然后计算 n 的所有正因子的和(不包括 n 本身),最后判断因子和是否等于 n,从而确定是否为完美数。
283

被折叠的 条评论
为什么被折叠?



