用Python 判断是否为完数
时间: 2024-06-23 13:02:11 浏览: 163
寻找指定范围内所有完数的方法
5星 · 资源好评率100%
在 Python 中,判断一个数是否为完数(Perfect Number)可以通过遍历该数的所有因子,然后将因子相加,如果和等于原数,那么这个数就是完数。下面是一个简单的函数实现:
```python
def is_perfect_number(n):
if n < 1:
return False
divisors_sum = 0
for i in range(1, int(n**0.5) + 1): # 只需检查到根号n,因为大于根号n的因子和已经包含在较小因子中
if n % i == 0: # i是因子
if i != n // i: # 如果i不等于n除以i(即另一个因子),则添加两次i
divisors_sum += i
divisors_sum += n // i
else:
divisors_sum += i # 如果i等于n除以i,只添加一次
return divisors_sum == n
# 测试函数
number = 6
if is_perfect_number(number):
print(f"{number} 是完数")
else:
print(f"{number} 不是完数")
阅读全文