题目

输出区间内所有素数

思路

循环 x 从 L 到 R,调用判素函数或内联试除;注意 L,R 顺序与边界包含。

解题分析

区间内每个数单独试除,在 b-a 不大、上限约 1000 时完全够用。若区间很宽或起点很小,可先用埃氏筛筛到 b,再输出筛表中的位置。

完整程序

import java.io.*;

public class Main {
    public static void main(String[] args) {
        int a = 10, b = 20;
        for (int i = a; i <= b; i++) {
            if (i < 2) continue;
            boolean ok = true;
            for (int j = 2; j * j <= i; j++) if (i % j == 0) {
                ok = false;
                break;
            }
            if (ok) System.out.println(i);
        }
    }
}

运行示例

输出:

11
13
17
19