编程序找出1000内完数
时间: 2024-09-29 19:02:21 浏览: 27
完数求解问题
编程序寻找1000以内(包括1000)的所有完数是一个有趣的数学问题。完数,也称为完美数,是指该数的因子之和等于它本身的正整数。比如6的因子有1、2和3,它们的和正好是6,所以6是一个完数。
下面是一个简单的Python示例,用于找到1000以内的所有完数:
```python
def find_perfect_numbers(n):
perfect_numbers = []
for num in range(1, n+1):
sum_of_factors = 1
i = 2
while i * i <= num:
if num % i:
i += 1
else:
num //= i
if i != 1: # 如果i不是1,则将它加入因子之和
sum_of_factors += i
if num > 1 and num == sum_of_factors: # 如果num是因子之和,那么它是完数
perfect_numbers.append(num)
return perfect_numbers
perfects_below_1000 = find_perfect_numbers(1000)
print("1000以内的完数有:", perfects_below_1000)
阅读全文