【leetcode】204. 計數質數

線性篩套一下模板

代碼

class Solution {
public:
    int countPrimes(int n) {
        if (n < 2) return 0;
        vector<int> arr(n , 0);
        for (int i = 2; i < n;i ++) {
            if (!arr[i]) arr[++arr[0]] = i;
            for (int j = 1;j <= arr[0]; j++) {
                if (i * arr[j] >= n) break;
                arr[i * arr[j]] = 1;
                if (i % arr[j] == 0) break;
            }
        }
        return arr[0];
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章