找出2~5000的完数
时间: 2024-10-23 13:15:30 浏览: 18
Java找出1000以内的所有完数
5星 · 资源好评率100%
找出2到5000之间的完美数是指一个数的所有真因数(除了自身以外的因子)加起来正好等于该数本身的数。例如,6是一个完美数,因为它的真因数有1、2和3,它们之和恰好为6。
要找出这个范围内的所有完美数,你可以编写一个程序,遍历每个数,检查其真因数之和是否等于它本身。以下是Python的一个简单示例:
```python
def is_perfect_number(n):
if n < 2:
return False
sum_of_divisors = 1
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
sum_of_divisors += i
if i != n // i:
sum_of_divisors += n // i
return sum_of_divisors == n
perfect_numbers = [i for i in range(2, 5001) if is_perfect_number(i)]
```
在这个代码中,我们首先定义了一个函数`is_perfect_number`,用于判断一个数是否为完美数。然后通过列表推导式找到2到5000之间所有的完美数,并将结果存储在变量`perfect_numbers`中。
阅读全文