求1000以内的完数 用python写个简单的程序
时间: 2024-10-08 22:03:27 浏览: 27
求1000以内的完全数,即一个数的所有真因子(除了自身以外的因数)之和等于它本身的数,可以编写如下的Python程序:
```python
def is_perfect_number(n):
# 真因子函数
def sum_factors(num):
i = 1
factors_sum = 0
while i * i <= num:
if num % i:
i += 1
else:
factors_sum += i
if i != num // i:
factors_sum += num // i
i += 1
return factors_sum
# 遍历1到1000,检查每个数是否为完美数
perfect_numbers = []
for num in range(1, 1001):
if sum_factors(num) == num:
perfect_numbers.append(num)
return perfect_numbers
# 执行并打印结果
perfect_nums = is_perfect_number(1000)
print("1000以内的完美数有:", perfect_nums)
阅读全文