【发布时间】:2014-11-14 20:22:27
【问题描述】:
我一直在尝试寻找有关如何使用 Erastothenes 筛子使用数组打印从 2 到 1000 的素数的帮助。我查看了 Sieve 的工作原理,但无法弄清楚如何对其进行编码。
import java.util.*;
public class PrimeArray {
public static boolean isPrime(int n){
if(n<=1){
return false;
}
for(int i = 2; i*i<n; i++){
if(i%n==0)
return false;
}
return true;
}
public static void main(String[] args) {
int[] array = new int[1000];
for(int j = 2; j<array.length; j++){
if(isPrime(j))
System.out.println(array[j]);
}
}
}
【问题讨论】:
-
这不是Sieve of Eratosthenes。它正在使用trial division。