素数
引用自百度百科
埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
public class Main {
//素数的个数,也是b的下标
private static int tot=0;
public static void main(String[] args) {
soe(1000000);
}
private static void soe(int n) {
// TODO Auto-generated method stub
long[] a=new long[n+1];
long[] b=new long[n+1];
for(long i=2;i<=n;i++){
if(a[(int)i]!=0)continue;
b[tot++]=i;
for(long j=i;j*i<=n;j++){
a[(int)(i*j)]=1;
}
}
for(int i=0;i<tot;i++){
System.out.println(b[i]);
}
}
}
以上个人拙见,还请诸位斧正