JavaScript 函数接受数字 n 并生成包含前 n 个素数的数组

javascriptweb developmentobject oriented programming更新于 2025/10/22 4:28:17

我们需要编写一个 JavaScript 函数,该函数接受数字 n 并返回包含前 n 个素数的数组。我们知道素数是那些只能被 1 和自身整除的数字,例如 2、3、19、37、73 等。

我们将首先编写一个函数来检查给定数字是否为素数,然后运行循环以生成 n 个素数。检查素数的代码 −

const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};

完整的生成代码为 −

示例

const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};
const generatePrime = num => {
   const arr = [];
   let i = 2;
   while(arr.length < num){
      if(isPrime(i)){
         arr.push(i);
      };
      i = i === 2 ? i+1 : i+2;
   };
   return arr;
};
console.log(generatePrime(6));
console.log(generatePrime(16));
console.log(generatePrime(36));

输出

控制台中的输出将是 −

[ 2, 3, 5, 7, 11, 13 ]
[
   2, 3, 5, 7, 11, 13,
   17, 19, 23, 29, 31, 37,
   41, 43, 47, 53
]
[
   2, 3, 5, 7, 11, 13, 17, 19, 23,
   29, 31, 37, 41, 43, 47, 53, 59, 61,
   67, 71, 73, 79, 83, 89, 97, 101, 103,
   107, 109, 113, 127, 131, 137, 139, 149, 151
]

相关文章


有用资源