less than 1 minute read

<-E 204> Count Primes

class Solution {
public:
    int countPrimes(int n) {
      if (n==0 || n==1) return false;
        // vector<int> prime(n+1, 1);
        // ----
        int prime[n];
        for (int i = 0; i < n; i++) {
            prime[i] = 1;
        }
        // -----
        for (int p = 2; p * p < n; ++p) {
            if (!prime[p]) 
                continue;
            for (int d = 2; (p * d) < n; ++d)
                prime[p * d] = 0;
        }
        // ---
        int res = 0;
        for (int i = 2; i < n; i++) {
            if (prime[i]) res++;
        }
        return res;
        // ----
        //return accumulate(prime.begin(), prime.end(), -3);  
    }
};