Input: 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.
int countPrimes(int n) {
if (n <= 1) return 0;
vector<bool> primes(n, true);
int count = 0;
primes[0] = primes[1] = false;
for (int i = 2; i < n; ++i) {
if (!primes[i]) continue;
++count;
for (int j = 2; i * j < n; ++j) {
primes[i * j] = false;
}
}
return count;
}
int countPrimes(int n) {
if (n <= 1) return 0;
vector<bool> primes(n, true);
int count = 0;
primes[0] = primes[1] = false;
for (int i = 2; i * i < n; ++i) {
if (!primes[i]) continue;
for (int j = i * i; j < n; j += i) {
primes[j] = false;
}
}
for (bool prime : primes) {
if (prime) ++count;
}
return count;
}