题目

从标准输入读入两个正整数 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