用python输入一个正整数,判断该时候是不是完美数或完备数,是一些特殊的自然数。它所有的真因子的和,恰好等于它本身
时间: 2024-02-26 19:56:21 浏览: 77
python判断所输入的任意一个正整数是否为素数的两种方法
5星 · 资源好评率100%
好的,我来回答你的问题。
以下是判断一个正整数是否为完美数的Python代码:
```python
def is_perfect_number(n):
factors_sum = sum([i for i in range(1, n) if n % i == 0])
return factors_sum == n
```
这个函数接受一个正整数n作为参数,如果n是完美数,就返回True,否则返回False。函数内部计算n的所有真因子(即除了1和n本身以外的因子)的和,如果等于n,则说明n是完美数。
你可以在调用函数时传入你想要判断的正整数,例如:
```python
n = 28
result = is_perfect_number(n)
print(result) # True
```
在这个例子中,我们判断28是否为完美数,结果为True。
阅读全文