计算从 2 到数字 n 的质数 JavaScript

javascriptweb developmentfront end technologyobject oriented programming

我们需要编写一个 JavaScript 函数,该函数将数字(例如 n)作为第一个也是唯一的参数。

然后,该函数应返回从 2 到数字 n 的所有质数的计数。

例如 −

对于 n = 10,输出应为:4 (2, 3, 5, 7)
对于 n = 1,输出应为:0

示例

const countPrimesUpto = (num = 1) => {
   if (num < 3) {
      return 0;
   };
   let arr = new Array(num).fill(1);
   for (let i = 2; i * i < num; i++) {
      if (!arr[i]) {
         continue;
      };
      for (let j = i * i; j < num; j += i) {
      arr[j] = 0;
   };
};
return arr.reduce( (a,b) => b + a) - 2; };
console.log(countPrimesUpto(35));
console.log(countPrimesUpto(6));
 console.log(countPrimesUpto(10));

输出

控制台中的输出将是 −

11
3
4

相关文章