Простые числа
Ответ:
const isTwinPrime = (num) => {
const isPrime = (num) => {
const sqrt = Math.sqrt(num);
for (let i = 2; i <= sqrt; i++) if (num % i === 0) return false;
return num > 1;
};
return isPrime(num) && (isPrime(num - 2) || isPrime(num + 2));
};
Объяснение:
Суть всего решения сводится к тому, чтобы реализовать функцию, которая проверяет, является ли число простым. Подробнее об использовании квадратного корня в цикле for - https://medium.com/swlh/an-algorithm-a-day-how-to-check-for-a-prime-number-in-javascript-7052630fb4ef .
Код для проверки:
const isTwinPrime = (num) => {
const isPrime = (num) => {
const sqrt = Math.sqrt(num);
for (let i = 2; i <= sqrt; i++) if (num % i === 0) return false;
return num > 1;
};
return isPrime(num) && (isPrime(num - 2) || isPrime(num + 2));
};
console.log(isTwinPrime(5)); // true
console.log(isTwinPrime(9)); // false
console.log(isTwinPrime(7)); // true
console.log(isTwinPrime(953)); // false