计算质数

61 阅读1分钟
// 计算质数  
// 输入:n = 10  
// 输出:4  
// 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。  
public static int countPrimes1(int n){  
    boolean[] isPrim = new boolean[n];  
    Arrays.fill(isPrim,true);  
    for (int i = 2; i*i<n ; i++) {  
        if(isPrim[i]){  
            for (int j = i*i; j <n ; j+=i) {  
                isPrim[j]=false;  
            }  
        }  
    }  
    int cnt=0;  
    for (int i = 2; i <n ; i++) {  
        if(isPrim[i]){  
            cnt++;  
        }  
    }  
    return cnt;  
}