编写一个判断完数的函数。完数是指一个数恰好等于它的因子之和,例如6=1+2+3,28 = 1+2+4+7+14。6和28都是完数
时间: 2024-10-24 22:08:57 浏览: 84
编写一个判断完数的函数,首先需要创建一个名为`is_perfect_number`的函数,该函数接收一个整数`n`作为参数,并检查它是否满足完数的定义。我们可以使用Python来实现这个功能,通过迭代从1到`n-1`的所有因子,然后累加它们,最后比较总和是否等于原始数字。
以下是实现代码:
```python
def is_perfect_number(n):
"""
判断给定的数字n是否为完美数
:param n: 待判断的整数
:return: 如果n是完美数则返回True,否则返回False
"""
if n < 1:
return False
sum_of_factors = 0
for i in range(1, int(n**0.5) + 1): # 只需检查到√n即可,因为大于√n的因子会有一对相对应的因子小于√n
if n % i == 0: # 如果i是n的因子
factor = i # 记录因子
if i != n // i: # 如果i不是n/i的平方,则还有一个因子
factor += n // i
sum_of_factors += factor
return sum_of_factors == n
```
现在你可以用这个函数来测试某个数字是否是完数了:
```python
number = 6
if is_perfect_number(number):
print(f"{number} 是一个完美数")
else:
print(f"{number} 不是一个完美数")
# 类似地,测试其他数字
```
阅读全文
相关推荐


















