python中检验一个数是不是完全数
时间: 2024-10-19 19:12:19 浏览: 19
完全数python题目解析
5星 · 资源好评率100%
在Python中,判断一个数n是否为“完全数”(Perfect Number),是指该数的所有真因数(除了它自身以外的正因子)之和恰好等于它本身的数。例如,6是一个完全数,因为它的真因数(1、2、3)加起来正好是6。
以下是一个简单的函数,可以检查一个给定的整数是否为完全数:
```python
def is_perfect_number(num):
if num <= 1:
return False
sum_of_factors = sum(i for i in range(1, num) if num % i == 0)
return sum_of_factors == num
# 测试例子
print(is_perfect_number(6)) # 输出: True
print(is_perfect_number(28)) # 输出: True
print(is_perfect_number(27)) # 输出: False
```
这个函数首先排除小于等于1的数,然后计算1到num-1之间所有能整除num的因子之和。如果这个和等于num,则说明num是完全数,函数返回True;否则返回False。
阅读全文