Функція, що викликає саму себе
Рекурсія — коли функція викликає сама себе для меншої задачі.
Факторіал: n! = n · (n−1)!, а 1! = 1.
def fact(n): if n <= 1: # базовий випадок — зупинка return 1 return n * fact(n - 1)
Як рахується fact(4):
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 задачі з автоперевіркою
▶ Розв'язувати задачіПідказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.