1. 程式人生 > >204. Count Primes的C++解法(篩選質數)

204. Count Primes的C++解法(篩選質數)

題目描述:https://leetcode.com/problems/count-primes/

埃拉託斯特尼篩法

class Solution {
public:
    int countPrimes(int n) {
        vector<bool> num(n,true);
        int res=0;
        for (int i=2;i<=sqrt(n);i++)
            if (num[i])
            {
                int k=2;
                while (k*i<n)
                {
                    num[k*i]=false;
                    k++;
                }
            }
        
        for (int i=2;i<n;i++)
          if (num[i]) res++;
        return res;
    }
};