所谓筛选法是指从小到大筛选出一个已知质数的倍数。例如2是质数,那么它所有的倍数4,6...100都肯定不是质数。
同样对于3也是。就这样依此类推,直到i增到到50为止(50的2倍等于100,因此后面的都不用计算了)。
public class Testing {
public static void main(String[] args) {
int[] a = new int[100];
Arrays.fill(a, 1);
for (int i = 2; i <= 100; i++) {
if (a[i - 1] != 0 && i<=50) {
for (int j = 2; j < 100; j++) {
if (i * j <= 100) {
a[i * j - 1] = 0;
} else {
break;
}
}
}else{
break;
}
}
for (int h = 1; h < 100; h++) {
if (a[h - 1] == 1) {
System.out.println(h);
}
}
}
}