打印输出1~1000内的所有完全数
时间: 2024-10-10 09:13:22 浏览: 38
C语言回文数OJ题和答案
完全数是指那些除了自身以外,其所有正因数之和也等于自身的整数。比如6的正因数有1、2、3,它们的和正好是6,所以6是一个完全数。下面是一个简单的Python程序,用于打印出1到1000范围内的所有完全数:
```python
def is_perfect_number(n):
if n < 1:
return False
sum_of_divisors = 1
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
sum_of_divisors += i
if i != n // i: # 如果n不是i的平方,还需要加上另一个因子
sum_of_divisors += n // i
return sum_of_divisors == n
perfect_numbers = [num for num in range(1, 1001) if is_perfect_number(num)]
for num in perfect_numbers:
print(num)
阅读全文