给定整数 n ,返回 所有小于非负整数 _n_ 的质数的数量 。
示例 1:
输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
示例 2:
输入:n = 0输出:0
示例 3:
输入:n = 1输出:0
提示:
0 <= n <= 5 * 10^6解法一:模拟
```typescript function countPrimes(n: number): number { let res = 0 if (n > 2) {
} for(let i = 3; i<n;i+=2) {res ++
} return res };if (isPrime(i)) { res++ }
function isPrime(n:number): boolean { for (let i = 3; i <= Math.floor(Math.sqrt(n));i+=2) { if (n % i === 0) { return false } } return true }
<a name="w9uEX"></a>
## 解法二:埃氏筛
```typescript
function countPrimes(n: number): number {
let ans = Array(n).fill(1)
let res = 0
for (let i = 2;i < n; i++){
if (!ans[i]) {
continue
}
res++
for (let j = i * i; j < n; j += i) {
ans[j] = 0
}
}
return res
}
