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

Tìm hai số nguyên tố với một khoảng cách số cụ thể trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số, khoảng trống làm đối số đầu tiên và một mảng phạm vi gồm hai số làm đối số thứ hai. Hàm của chúng ta sẽ trả về một mảng gồm tất cả các cặp số nguyên tố như vậy có hiệu số chênh lệch tuyệt đối và nằm giữa phạm vi được chỉ định.

Ví dụ

Sau đây là mã -

const gap = 4;
const range = [20, 200];
const primesInRange = (gap, [left, right]) => {
   const isPrime = num => {
      for(let i = 2; i < num; i++){
         if(num % i === 0){
            return false;
         };
      };
      return true;
   };
   const primes = [];
   const res = [];
   for(let i = left; i < right; i++){
      if(isPrime(i)){
         primes.push(i);
      };
   };  
   let currentNum = primes[0];
   for(let j = 1; j < primes.length; j++){
      if(primes[j] - currentNum === gap){
         res.push(currentNum, primes[j]);
         return res;
      }else{
         currentNum = primes[j];
      };
   };
   return null;
};
console.log(primesInRange(gap, range));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

[37, 41]