从文件source.txt中读取数据,将其中的完数写入文件destination.txt中。
时间: 2024-03-14 08:44:04 浏览: 28
好的,我知道了。以下是Python的实现代码:
```python
# 定义一个函数,判断一个数是否为完数
def is_perfect_number(num):
if num < 2:
return False
factors = [1]
for i in range(2, int(num**0.5)+1):
if num % i == 0:
factors.append(i)
factors.append(num//i)
return sum(factors) == num
# 从source.txt中读取数据,筛选出完数并写入destination.txt中
with open('source.txt', 'r') as f1, open('destination.txt', 'w') as f2:
for line in f1:
num = int(line.strip())
if is_perfect_number(num):
f2.write(str(num) + '\n')
```
代码解释:
首先定义一个函数 `is_perfect_number`,用于判断一个数是否为完数。判断方法是:求出这个数的所有因子,如果这些因子的和等于这个数本身,则这个数为完数。
然后打开源文件 `source.txt` 和目标文件 `destination.txt`,对于每一行数据,先转换为整数类型,再判断是否为完数,如果是则将其写入目标文件中。最后关闭文件。