Рекурсивные алгоритмы — вручную

Редакция Без Сменки
Честно. Понятно. С душой.

Определить чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(1)?

def F(n):
⠀print(n)
⠀if n < 5:
⠀⠀F(n + 1)
⠀⠀F(n + 3)

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

(смотри на картинку)

▫️ Первым действием процедура F(1) выведет число 1, далее F(1) сделает вызов F(n + 1), в результате выполнения которой на экране появится число n + 1, то есть 2. В свою очередь F(2) вызовет F(3), которая выведет на экран число 3 и вызовет процедуру F(4), на экран выведется число 4 и произойдет вызов F(5), которая выведет число 5

▫️ После этого управление вернётся к процедуре F(4), так как до этого программа зациклилась. Итак, F(4) выполнит следующий шаг своего алгоритма, то есть она обратится к F(n + 3) = F(7) и выведет на экран число 7

▫️ Далее управление вернётся к F(3). Итак, мы поняли алгоритм, и если мы будем рассуждать аналогично дальше, то придем к выводу, что F(3) дополнительно выведет на экран число 6, а процедура F(2) — 5

▫️ Затем, последним действием F(1) будет вызов F(n + 3) = F(4), которая выведет на экран числа 4, 5, 7.

И таким образом, мы получаем на экране следующие числа: 1, 2, 3, 4, 5, 7, 6, 5, 4, 5, 7, а сумма их равняется 49

Задание можно решить и кодом, для этого мы завели глобальную переменную k для суммы чисел.

Где вы учитесь?

Вам также будет интересно

Мировая экономика: термины для ЕГЭ по обществознанию
валютный курс — выражение цены денежной единицы одной страны в денежных единицах другой страны ВТО (Всемирная торговая организация) —...
Закон Ома для участка цепи
Открыт немецким учителем физики Георгом Омом в 1826 году. 📌 Записывается следующей формулой: I = U / R. Формула справедлива для постоянного...
Электроны
Невозможно точно определить, где находится электрон. Но можно предположить и с достаточно большой вероятностью — 95%. Область пространства, в которой...
Маленький человек
Тип героя - это такой характер, в котором содержится социальное обобщение Типизация героев в русской литературе – тема, которая часто встречается...
Законы Моргана
Изучение генетики в двадцатом веке связано с именем Томаса Моргана. Он открыл миру представление о сцепленном наследовании генов и рассказал о...
Контроль мочеиспускания
Мочеиспускание и мочеобразование — созвучные термины, которые нельзя путать 🤔 Чаще всего на ЕГЭ спрашивали второй процесс, а вот мочеиспускание...

0 комментария

Авторизуйтесь, чтобы оставить комментарий.