使用代码输出1-120内所有的素数
public class PrimeSieve { public static void main(String[] args) { int max 120; boolean[] isPrime new boolean[max 1]; for (int i 2; i max; i) { isPrime[i] true; } System.out.println( 开始用埃氏筛法筛选1~120的素数 ); System.out.println(步骤1先把所有数标记为素数true1不是素数\n); for (int i 2; i * i max; i) { if (isPrime[i]) { System.out.println( 当前素数 i ); System.out.println(标记所有 i 的倍数 i *2, i *3, ...为非素数); for (int j i * 2; j max; j i) { isPrime[j] false; System.out.print(j ); } System.out.println(\n); } } System.out.println( 筛选完成1~120的所有素数如下 ); int count 0; for (int i 2; i max; i) { if (isPrime[i]) { System.out.printf(%-4d, i); count; if (count % 10 0) { System.out.println(); } } } System.out.println(\n\n总共有 count 个素数); } }