python,请找出3000以内所有完数并存放在c盘根文件夹的文件ws.txt中
时间: 2024-02-13 18:00:20 浏览: 84
python找出完数的方法
好的,以下是Python代码实现:
```python
import os
def get_divisors(num):
"""
获取一个数的所有真因子(不包括自身)
"""
divisors = []
for i in range(1, num):
if num % i == 0:
divisors.append(i)
return divisors
def is_perfect_number(num):
"""
判断一个数是否为完数
"""
divisors = get_divisors(num)
return num == sum(divisors)
if __name__ == '__main__':
perfect_numbers = []
for i in range(1, 3001):
if is_perfect_number(i):
perfect_numbers.append(i)
with open('C:\\ws.txt', 'w') as f:
f.write(' '.join(map(str, perfect_numbers)))
print('完数已存放在 C 盘根文件夹的 ws.txt 文件中')
```
运行以上代码后,程序将会在 C 盘根文件夹生成一个名为 ws.txt 的文件,并将所有 3000 以内的完数写入该文件中。
阅读全文