java 素数(质数)筛法

  // @ 10 质数筛 筛选 1 - n 之间的质数,返回的是布尔数组
    // return value is bool arrays;
    public static boolean[] eratos_prime(int n)// 埃拉托色尼 素数筛选法  
    {
    	boolean[] ans = new boolean[(int)n];
    	for(int i=0;i<n;i++) {
    		ans[i] = true;
    	}
    	ans[0] = ans[1] = false;
    	for(int i=2;i<=n;i++) {

    		if(ans[i]) {
    			int j = i+i;
    			while(j<=n) {
    				ans[j] = false;
    				j+=i;
    			}
    		}
    	}
    	return ans;
    }


猜你喜欢

转载自blog.csdn.net/qq_35821988/article/details/79156303