在 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));
Learn JavaScript in-depth with real-world projects through our JavaScript certification course. Enroll and become a certified expert to boost your career.
输出
以下是控制台输出 -
[37, 41]
广告