在 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]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP