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, так?
Все верно, функция работает рекурсивно до тех пор, пока не выполнится условие n is 0 или n is 1, но можно более коротким способом без рекурсии записать это дело:
function isEven(n) {
if (n % 2 == 0)
return true;
return false;
}