Zheleznov
@Zheleznov

Как понять данную функцию?

Добрый день, объясните пожалуйста на пальцах что тут происходит?
запутался
Функция определяет является число простым или нет

Простое число - число, которое имеет 2 делителя, себя и единицу

spoiler

const isPrime = (number) => {
  if (number < 2) {
    return false;
  }
  
  for ( let i = 2; i <= number / 2; i++) {
    if (number % i === 0) {
      return false;
    }
  }
  
  return true;
}

document.write(isPrime(7))



Например с числом 7
Как идут расчёты в цикле?

Если к i всегда добавляется 1, после каждого цикла, но цикл ограничен в данном случае цифрой 3.5 , то как функция понимает что 7 это простое число?
Ведь мы не дойдём до 7 в цикле.
И функция не проверяет только деление на 2, например 9 делится на 3, и простым числом не является.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
С 7 проверяют, делится ли на 2 и на 3 – ни на одно не делится, значит, простое.

Почему до половины. Потому что второй множитель не может быть меньше 2, только больше или равен.

Смысл перебора — поймать, что, вот, ага! – на это число делится! — значит, не простое и дальше можно не проверять.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы