使用 Python 编程,可以找到 1000 以内的完数。
时间: 2024-04-08 09:33:28 浏览: 50
当然可以!完数指的是一个正整数,它的所有真因子(即除了自身以外的因子)的和等于它本身。下面是一个使用 Python 编程找到 1000 以内的完数的示例代码:
```python
def find_perfect_numbers(limit):
perfect_numbers = []
for num in range(2, limit+1):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
perfect_numbers.append(num)
return perfect_numbers
limit = 1000
perfect_nums = find_perfect_numbers(limit)
print("完数:", perfect_nums)
```
这段代码中,我们定义了一个名为 `find_perfect_numbers` 的函数来查找完数。我们从 2 开始迭代到给定的上限值 `limit`。对于每个数字,我们找到它的所有真因子,并将它们加入到一个列表 `factors` 中。最后,我们检查 `factors` 列表中所有元素的和是否等于当前数字本身,如果是,则将该数字添加到 `perfect_numbers` 列表中。
在这个例子中,我们将上限值设定为 1000,并打印出找到的完数。
注意:由于完数较为稀少,1000 以内只有几个完数(6、28、496),所以输出结果只会包含这几个数字。
阅读全文