문제
첫 번째 인수로 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]