统计所有小于非负整数 n 的质数的数量。
思路:
- 总思路:
- 使用 埃拉托斯特尼筛选法 进行过滤
function countPrimes(n: number): number {
var isNumPrimesArr: Boolean[] = [];
for (let i=0;i<n;i++){
isNumPrimesArr[i] = true;
}
var count = 0;
for(let i=2; i<=n; i++) {
if(isNumPrimesArr[i]) {
count ++;
// 使用埃拉托斯特尼 筛选法进行过滤 将合数去除
for(let j=i*i; j<=n; j+=i) {
isNumPrimesArr[j] = false;
}
}
}
return count;
};