2018-11-26 计数质数

2018-11-26  本文已影响0人  天际神游

题目:

计数质数

解法:

申请一个大小为n的boolean 数组, 默认初始化为false. 然后从2开始遍历, 遇到false, 则计数器加一. 凡是2的倍数的数, 都是非质数, 标记为true. 遇到false我们认为其为质数, 否则不是质数. 同上, 即可求得结果.

    public int countPrimes(int n) {
        int count = 0;
        boolean[] primeArr = new boolean[n];
        for(int i = 2; i < n; i++){
            if(primeArr[i] == false){
                count++;
                for(int j = i; j < n; j += i){
                    primeArr[j] = true;
                }
            }
        }
        return count;
    }
上一篇 下一篇

猜你喜欢

热点阅读