用简单函数方式实现完数
时间: 2024-04-09 14:27:57 浏览: 24
完数(Perfect Number)是指一个正整数,它等于除了自身之外的所有正因子之和。例如,6是一个完数,因为6的因子有1、2、3,而1+2+3=6。
下面是用简单函数方式实现完数的代码:
```python
def is_perfect_number(num):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
return True
else:
return False
# 测试
n = int(input("请输入一个正整数:"))
if is_perfect_number(n):
print(n, "是完数")
else:
print(n, "不是完数")
```
在上面的代码中,我们定义了一个名为`is_perfect_number`的函数,它接受一个参数`num`,表示要判断的正整数。函数内部通过遍历1到`num`之间的所有数字,判断其是否为`num`的因子,并将因子添加到一个列表中。最后,判断列表中所有因子的和是否等于`num`,如果相等则返回`True`,表示该数字是完数,否则返回`False`,表示不是完数。
需要注意的是,在测试部分,我们通过`input`函数获取用户输入的正整数,并调用`is_perfect_number`函数进行判断,并输出相应的结果。
这样,你就可以使用这个函数来判断一个正整数是否为完数了。
阅读全文