用Python 求完数
时间: 2023-11-05 11:04:02 浏览: 148
python找出完数的方法
完数是指一个数恰好等于它的因子之和,例如6是一个完数,因为6=1+2+3。
下面是使用Python编写的求完数的程序:
```python
def is_perfect_number(n):
"""
判断一个数是否为完数
"""
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
return sum(factors) == n
def find_perfect_numbers(limit):
"""
寻找小于等于limit的所有完数
"""
perfect_numbers = []
for i in range(1, limit + 1):
if is_perfect_number(i):
perfect_numbers.append(i)
return perfect_numbers
limit = int(input("请输入一个正整数:"))
perfect_numbers = find_perfect_numbers(limit)
print("小于等于", limit, "的完数有:", perfect_numbers)
```
运行程序后,输入一个正整数,程序将输出小于等于这个数的所有完数。
例如,输入100,程序将输出:
```
小于等于 100 的完数有: [6, 28]
```
阅读全文