埃拉托色尼计算素数序列

public class Primes {
	public static void main(String[] args) {

		int N = 25;
		boolean[] a = new boolean[N];

		// 先标记所有的数都是素数
		for (int i = 2; i < N; i++)
			a[i] = true;
		for (int i = 2; i < Math.sqrt(N); i++) {
			if (a[i] != false) {
                    // i没有被前面的步骤消去,i的i,i+1...倍肯定不是素数
				for (int j = i; j * i < N; j++) {
					a[i * j] = false;
				}
			}
		}
		for (int i = 2; i < N; i++) {
			if (a[i])
				System.out.print(" " + i);
		}
	}
}

你可能感兴趣的:(J#)