Nikulio
@Nikulio
NaN !== NaN

Правильно ли я понял данный код?

function isEven(n) {
  if (n == 0)
    return true;
  else if (n == 1)
    return false;
  else if (n < 0)
    return isEven(-n);
  else
    return isEven(n-2);
}

Задание было на проверку even/odd. И так, если мы ставим 10, то 2 отнимается до тех пор, пока x не станет 0 и выводится true. Если ставим 11, то x дойдет до 1 и выведет false, так?
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
AppFA
@AppFA
Frontend developer at Yandex
Все верно, функция работает рекурсивно до тех пор, пока не выполнится условие n is 0 или n is 1, но можно более коротким способом без рекурсии записать это дело:
function isEven(n) {
    if (n % 2 == 0)
        return true;

    return false;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Number.prototype.isEven = function() { return (this % 2) == 0; };
console.log(n.isEven());
console.log(6).isEven());
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
summer Ярославль
от 100 000 до 140 000 ₽