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