题目
从标准输入读入两个正整数 a 和 b(保证 a ≤ b),输出闭区间 [a, b] 内的所有素数。
输入格式:一行输入两个正整数 a 和 b,以空格分隔。
输出格式:按升序分行输出区间内的所有素数。若区间内无素数则不输出。
数据范围与约定:1 ≤ a ≤ b ≤ 10000。
思路与算法
1. 判素函数封装
定义独立函数 is_prime(n),使主循环专注区间遍历与格式化输出,代码结构清晰解耦。
2. 范围遍历
使用 range(a, b + 1) 逐个检验区间内每个整数。
完整程序
# 筛选 1~100 内的所有素数
for x in range(2, 101):
ok = True
for i in range(2, int(x ** 0.5) + 1):
if x % i == 0:
ok = False
break
if ok:
print(x)运行示例
输入:
10 20输出:
11
13
17
19