JavaScript函数采用数字n并生成前n个素数的数组

我们需要编写一个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
]
猜你喜欢