在 JavaScript 中查找具有特定数字间隙的两个素数
问题
我们需要编写一个JavaScript函数,它接受一个数字,gap作为第一个参数,一个包含两个数字的范围数组作为第二个参数。我们的函数应该返回一个包含所有此类质数对的数组,这些质数对具有绝对差距并落在指定范围内。
示例
以下是代码-
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]