204. Count Primes

来源:互联网 发布:破壁机骗局知乎 编辑:程序博客网 时间:2024/06/05 08:53

Description:

Count the number of prime numbers less than a non-negative number, n.


class Solution {public:    int countPrimes(int n) {    if (n<=2) return 0;vector<bool> passed(n, false);int sum = 1;int upper = sqrt(n);for (int i=3; i<n; i+=2) {if (!passed[i]) {sum++;//avoid overflowif (i>upper) continue;for (int j=i*i; j<n; j+=i) {passed[j] = true;}}}return sum;}};  


class Solution {public:    int countPrimes(int n) {        vector<bool> prime(n, true);        prime[0] = false, prime[1] = false;        for (int i = 0; i < sqrt(n); ++i) {            if (prime[i]) {                for (int j = i*i; j < n; j += i) {                    prime[j] = false;                }                }            }        return count(prime.begin(), prime.end(), true);    }};


0 0
原创粉丝点击