用Python找出100内的完数
时间: 2023-05-11 17:05:49 浏览: 76
以下是用Python找出100内的完数的代码:
```python
def find_perfect_numbers(n):
perfect_numbers = []
for i in range(1, n+1):
divisors = []
for j in range(1, i):
if i % j == 0:
divisors.append(j)
if sum(divisors) == i:
perfect_numbers.append(i)
return perfect_numbers
print(find_perfect_numbers(100))
```
输出结果为:[6, 28],这两个数字是100以内的完数。
相关问题
用Python找出1000内完数
好的,让我来回答你的问题。下面是用Python找出1000内完数的代码:
```python
for i in range(1, 1000):
sum = 0
for j in range(1, i):
if i % j == 0:
sum += j
if sum == i:
print(i)
```
完数指一个数等于除它本身以外的所有因数之和,因此我们可以用两个循环来判断一个数是否是完数。第一个循环遍历1到1000之间的每个数字,第二个循环用来计算当前数字的所有因数之和。如果计算出来的和等于当前数字本身,那么就说明这个数字是一个完数,我们就可以将其输出出来。
用python找出1000以内的完数
完数是指一个数恰好等于它的因子(不包括它本身)之和的数。例如,6是一个完数,因为6的因子为1、2、3,而1+2+3=6。
以下是用Python找出100以内的完数的代码:
```python
for i in range(2, 1001):
factors = []
for j in range(1, i):
if i % j == :
factors.append(j)
if sum(factors) == i:
print(i)
```
代码解释:
- 首先使用`range`函数生成2到100之间的所有整数。
- 对于每个整数`i`,使用一个循环找出它的所有因子,并将它们存储在一个列表`factors`中。
- 如果`factors`中所有元素的和等于`i`,则`i`是一个完数,将其打印出来。
运行代码后,输出结果为:
```
6
28
496
```