判断m1到m2范围内的素数,控制台上输出素数和个数,并将素数的个数保存在一个文件中
时间: 2024-01-29 07:01:47 浏览: 71
以下是一个简单的实现,使用筛法判断素数,并将结果输出到控制台和文件中:
```python
import math
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
m1 = int(input("请输入范围下限:"))
m2 = int(input("请输入范围上限:"))
count = 0
with open("prime_count.txt", "w") as f:
for n in range(m1, m2+1):
if is_prime(n):
count += 1
print(n)
f.write(str(n) + "\n")
print("在范围 [{}, {}] 内共找到 {} 个素数".format(m1, m2, count))
```
这个程序首先定义了一个 `is_prime()` 函数判断一个数是否为素数,然后读取用户输入的范围,并使用一个循环遍历这个范围内的所有数,对每个数调用 `is_prime()` 函数进行判断。如果是素数,则将计数器 `count` 加一,并将素数输出到控制台和文件中。最后,程序输出素数的总个数和范围信息。注意,我们使用了 `with` 语句打开文件,这样可以确保在程序结束时自动关闭文件。
阅读全文