import java.util.*;
public class Sieve {
public static void main(String args[]){
new Sieve();
}
Sieve(){
System.out.print("input the size of n: ");
Scanner s = new Scanner(System.in);
int n = s.nextInt();
Vector v = new Vector();
boolean is_prime[] = new boolean[n+10];//开大一点,小心抛出越界异常
Arrays.fill(is_prime,true);
int i,j;
for(i=2;i<=n;i++){
if(is_prime[i]==true){
v.add(i);
for(j=2*i;j<=n;j+=i){
is_prime[j]=false;
}
}
}
Iterator it = v.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println();
}
}
埃氏筛素数法
最新推荐文章于 2024-03-29 23:30:55 发布