Computer >> Máy Tính >  >> Lập trình >> Javascript

Hàm JavaScript để nhận một số n và tạo một mảng với n số nguyên tố đầu tiên

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số n và trả về một mảng chứa n số nguyên tố đầu tiên. Chúng ta biết rằng số nguyên tố là những số chỉ chia hết cho 1 và chính chúng như 2, 3, 19, 37, 73, v.v.

Đầu tiên chúng ta sẽ viết một hàm để kiểm tra xem một số đã cho có phải là số nguyên tố hay không và sau đó chạy aloop để tạo ra n số nguyên tố. Mã để kiểm tra các số nguyên tố -

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

Và mã tạo đầy đủ sẽ là -

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ 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
]