Problem:
Description:
Count the number of prime numbers less than a non-negative number, n.
Solutions:C++:
class Solution {
public:
int countPrimes(int n) {
vector<bool> isPrime(n, true);
int num = 0;
for(int i = 2; i < n; i++){
if(isPrime[i]){
num++;
for(int j = 2; i*j < n; j++){
isPrime[i*j] = false;
}
}
}
return num;
}
};
Python3:
class Solution:
def countPrimes(self, n):
"""
:type n: int
:rtype: int
"""
isPrime = [True] * n;
num = 0;
for i in range(2, n):
if(isPrime[i]):
num += 1;
isPrime[2*i:n:i] = [False]*len(isPrime[2*i:n:i]);
return num;