Точка входа в программирование
20.3K subscribers
1.24K photos
216 videos
2 files
2.76K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Очередная викторина уже ждёт вас

#викторина #рекурсия
Что такое рекурсия

Рекурсия — это когда функция вызывает сама себя, чтобы решить задачу. Большая задача разбивается на маленькие кусочки, которые решаются по одному, пока не дойдёшь до самого простого случая.

Как работает рекурсия?

У рекурсии всегда есть две важные части:

1. Базовый случай — когда задача становится настолько простой, что её можно решить сразу, без новых вызовов.

2. Рекурсивный случай — когда функция вызывает саму себя, но с более простыми данными.

Максимально простой пример рекурсии на Python

Давайте посчитаем факториал 3 (пишется как 3!) — это 3 * 2 * 1 = 6.

Вот код:

def factorial(n):
if n == 0: # Базовый случай: если n равно 0, возвращаем 1
return 1
else: # Рекурсивный случай: n умножаем на факториал числа поменьше
return n * factorial(n-1)


Как это работает шаг за шагом для `factorial(3)`:

1. factorial(3): 3 * factorial(2)

2. factorial(2): 2 * factorial(1)

3. factorial(1): 1 * factorial(0)

4. factorial(0): возвращает 1 (базовый случай)

5. Теперь идём обратно:

- 1 * 1 = 1

- 2 * 1 = 2

- 3 * 2 = 6

Итог: factorial(3) = 6.

#простымисловами #рекурсия
👍4