使用Python输出1000以内的所有完数
时间: 2024-12-20 12:15:38 浏览: 10
在Python中,一个完数(Perfect number)是指它的所有真因数(除了自身外的正因数)之和等于它本身的数。例如,6是一个完数,因为1+2+3=6。以下是找出1000以内所有完数的简单代码:
```python
def is_perfect_number(n):
sum_of_divisors = 1
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
if i != n // i: # 如果n不是i的平方,则有两个因数
sum_of_divisors += i
sum_of_divisors += n // i
else: # 如果是i的平方,只需要加一次
sum_of_divisors += i
return sum_of_divisors == n
perfect_numbers = [i for i in range(1, 1001) if is_perfect_number(i)]
print("1000以内的完数有:", perfect_numbers)
相关问题
用Python输出1000以内的完数
好的,根据您的要求,以下是用Python输出1000以内的所有完数的代码:
```python
# 完数是所有因子之和等于该数本身的正整数。
for i in range(2, 1001):
factors = [1]
for j in range(2, int(i / 2) + 1):
if i % j == 0:
factors.append(j)
if sum(factors) == i:
print(i)
```
希望这对您有所帮助!
python输出1000以内的完数
Sure! 下面是 Python 代码:
```python
for i in range(2, 1001):
s = 0
for j in range(1, i):
if i % j == 0:
s += j
if s == i:
print(i)
```
这个代码可以输出 1000 以内的完数。
阅读全文