Зберегти прогрес
МОДУЛЬ 6. КОМАНДА КОРАБЛЯ: ФУНКЦІЇ

Урок 6. Рекурсія

⌨ Python⏱ ~11 хв✎ 4 завдання з автоперевіркою✓ безкоштовно

Функція, що викликає саму себе

Рекурсія — коли функція викликає сама себе для меншої задачі.

Факторіал: n! = n · (n−1)!, а 1! = 1.

●●●код Python
def fact(n):
    if n <= 1:            # базовий випадок — зупинка
        return 1
    return n * fact(n - 1)

Як рахується fact(4):

●●●код Python
fact(4) = 4 * fact(3)
        = 4 * 3 * fact(2)
        = 4 * 3 * 2 * fact(1)
        = 4 * 3 * 2 * 1 = 24

Кожна рекурсивна функція потребує:

1
Базового випадку — коли відповідь відома без рекурсії.
2
Кроку — виклику для меншої задачі, що наближає до базового випадку.
➜ПОРАДА
Без базового випадку рекурсія нескінченна: Python зупинить її з помилкою RecursionError приблизно на 1000-му рівні.
Перевір себе: 4 задачі з автоперевіркою
Підказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.
▶ Розв'язувати задачі