Задать вопрос

Как прочитать код с рекурсией?

Учу php. Попался код:
spoiler
function factor($n)
{
if ($n <= 0) return 1;
else return $n * factor($n — 1);
}
echo factor(20);


Вот мне непонятно, зачем отнимать 1:
$n * factor($n — 1);
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
seganim
@seganim
PHP-программист, программный инженер
Потому что факториал это произведение всех положительных чисел до текущего. Начиная с искомого числа, мы на каждой итерации умножаем его на предыдущее, пока не получим 0, который вернет 1.

Для 5 это шаги:

5 4 3 2 1 0
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽