用python编写程序,输入自然数n,输出1-n以内的所有完数。一个数若恰好等于它的各因子之和,即称其为完数
时间: 2024-10-16 17:20:06 浏览: 47
python3在同一行内输入n个数并用列表保存的例子
5星 · 资源好评率100%
在Python中,我们可以编写一个函数来检查每个数是否为完数。首先,我们需要编写一个因子查找函数,然后检查这个数是否等于其因子之和。下面是一个简单的示例:
```python
def find_factors(n):
factors = []
for i in range(1, n + 1):
if n % i == 0:
factors.append(i)
return factors
def is_perfect_number(n):
factors_sum = sum(find_factors(n))
if factors_sum == n:
return True
else:
return False
# 获取用户输入
n = int(input("请输入一个自然数:"))
if is_perfect_number(n):
print(f"{n} 是一个完数,因为它的因子之和等于它本身.")
else:
print(f"{n} 不是完数.")
阅读全文