Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một số, gap làm đối số đầu tiên và một mảng phạm vi hai số làm đối số thứ hai. Hàm phải trả về một mảng chứa tất cả các cặp số nguyên tố có hiệu tuyệt đối bằng gap và nằm trong phạm vi chỉ định.
Ví dụ
Dưới đây là mã:
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));
Kết quả
Kết quả console:
[37, 41]