Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 특정 숫자 간격이 있는 두 개의 소수 찾기

<시간/>

문제

첫 번째 인수로 gap, 두 번째 인수로 두 숫자의 범위 배열을 취하는 JavaScript 함수를 작성해야 합니다. 우리의 함수는 간격의 절대 차이가 있고 지정된 범위 사이에 속하는 모든 소수 쌍의 배열을 반환해야 합니다.

예시

다음은 코드입니다 -

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

출력

다음은 콘솔 출력입니다 -

[37, 41]