求完数 Python
时间: 2024-04-16 14:23:26 浏览: 146
在数论中,完全数是指一个数等于它的所有因子(除了它本身)之和。换句话说,如果一个数的因子之和等于它本身,那么这个数就是完全数。
下面是一个用Python编写的求完全数的示例代码:
```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
def find_perfect_numbers(limit):
perfect_numbers = []
for i in range(1, limit+1):
if is_perfect_number(i):
perfect_numbers.append(i)
return perfect_numbers
limit = 10000
perfect_numbers = find_perfect_numbers(limit)
print("完全数:", perfect_numbers)
```
在上面的代码中,`is_perfect_number`函数用于判断一个数是否是完全数。它通过遍历从1到该数的所有因子,并将其加入到一个列表中。然后,通过判断列表中所有元素的和是否等于该数来确定是否为完全数。
`find_perfect_numbers`函数用于找到给定范围内的所有完全数。它遍历从1到指定范围的所有数,并调用`is_perfect_number`函数进行判断。如果是完全数,则将其添加到一个列表中。
最后,我们可以通过调用`find_perfect_numbers`函数并传入一个限制值来找到指定范围内的所有完全数,并将其打印出来。
阅读全文