编程,判断一个数是否是完数。 完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数, 如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。 用python编程
时间: 2024-09-22 11:05:14 浏览: 60
c代码-判断这个数是什么数
在Python中,可以编写一个函数来判断一个数是否为完数。我们可以先找到给定数值的所有真因子(除自身外的因数),然后计算它们的和,最后比较这个和是否等于原始数。以下是一个示例代码:
```python
def is_perfect_number(n):
factors_sum = 1 # 因为1是所有数的因子,初始值设为1
for i in range(2, int(n ** 0.5) + 1): # 只需检查到根号n即可
if n % i == 0: # 如果i是n的因子
factors_sum += i # 将因子加到总和中
if i != n // i: # 如果因子不是n除以i的商,说明还有一个因子n//i
factors_sum += n // i
return factors_sum == n # 返回总和是否等于n
# 测试
print(is_perfect_number(6)) # 输出 True
print(is_perfect_number(28)) # 输出 True
print(is_perfect_number(496)) # 输出 True (最大已知的完全数之一)
```
阅读全文