接收由键盘输入的两个正整数m和n的值,且m<n。其中100=<m<=200,400=<n<=600,寻找 m~n 之间所有素数,将这些素数写到输出文件“prime.txt”中。要求将素数保存到文件里面时,一行保存4个素数。
时间: 2024-02-13 09:07:03 浏览: 77
好的,这个问题可以使用Python编写一个程序来解决。以下是代码示例:
```python
import math
# 判断是否为素数
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
# 获取m-n之间的所有素数
def get_primes(m, n):
primes = []
for i in range(m, n+1):
if is_prime(i):
primes.append(i)
return primes
# 主函数
if __name__ == '__main__':
# 获取用户输入的m和n值
while True:
m = int(input("请输入正整数m(100<=m<=200):"))
if m < 100 or m > 200:
print("m必须在100-200之间,请重新输入!")
else:
break
while True:
n = int(input("请输入正整数n(400<=n<=600):"))
if n < 400 or n > 600:
print("n必须在400-600之间,请重新输入!")
else:
break
# 判断m和n的大小关系
if m >= n:
print("m必须小于n!")
else:
primes = get_primes(m, n)
# 将结果写入文件
with open("prime.txt", "w") as f:
f.write("m-n之间的素数如下:\n")
for i, p in enumerate(primes):
f.write(str(p))
if (i+1) % 4 == 0:
f.write("\n")
else:
f.write(" ")
```
你只需要运行这个程序,并按要求输入m和n的值,程序会自动在当前目录下生成一个名为“prime.txt”的文件,并将结果写入其中。如果出现任何问题,可以随时向我提问。
阅读全文