【Java】埃氏筛法快速求第1000091个素数是什么

public class a {
    
    
    //埃氏筛法
    //求第1000091个素数是什么。
    public static void main(String[] args){
    
    
        int N = 100000001;
        int x = 1000091;
        byte[] a=new byte[N];
        for(int i=2;i<N/2; i++){
    
    
            if(a[i]==1) continue;
            for(int k=2;k<=N/i;k++){
    
    
                if(i*k<N) a[i*k] = 1;
            }
        }
        int m=0;
        for(int i=2;i<N;i++){
    
    
            if(a[i]==0){
    
    
                m++;
                if(m==x) System.out.println(i);
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36045898/article/details/112858362