Задача

Define a function that takes an integer argument and returns logical value true or falsedepending on if the integer is a prime.
Per Wikipedia, a prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself.

Пример

is_prime(1)  /* false */
is_prime(2)  /* true  */
is_prime(-1) /* false */

Первая попытка

function isPrime(num) {
  if (num < 2) {
     return false;
  }
for (let i = 2; i < (num / 2) + 1; i++) {
     if (num % i === 0) {
       return false;
     }
  }
return true;
}

Он прошел все тесты, кроме временной сложности. Моему первому решению не удалось выполнить тайм-аут, хотя я ограничил цикл на половину (число / 2)

Окончательный ответ

function isPrime(num) {
  if (num < 2) {
     return false;
  }
if (num === 2) {
     return true;
  }
  
  const maximumDividor = Math.sqrt(num) + 1;
for (let i = 2; i < maximumDividor; i++) {
     if (num % i === 0) {
       return false;
     }
  }
return true;
}

Я заменил метод квадратного корня вместо половинного значения. Это сократит время выполнения наполовину.