Простые числа

Простые числа


Ответ:

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




Report Page