← Все вопросы
Задание 16 ЕГЭ: как считать рекурсивную функцию F(n) на Python?
13
В задании 16 дана рекурсивная функция/процедура: F(n) = n + F(n-1) при n>... и базовый случай, иногда выводит звёздочки или вызывает себя дважды. Просят посчитать значение или сколько раз что-то напечатается. Как перенести это в питон без ошибок?
3 ответа
15
✓ Принятый ответ — помог автору
Перенеси определение в питон буквально, один в один с условием, и просто вызови. Главное — точно повторить базовый случай и рекурсивный шаг.
def F(n):
if n > 2:
return F(n - 1) + F(n - 2) + n # шаг как в условии
else:
return 1 # база как в условии
print(F(10))
Если просят «сколько раз напечатается символ» — заведи глобальный счётчик или возвращай его из функции. Если рекурсия глубокая и питон ругается на лимит — поставь в начале import sys; sys.setrecursionlimit(100000).
Алексей Сехан setrecursionlimit спас, спасибо 🙏 · 3 месяца назад
7
Просто скопируй формулу в def F(n) и вызови с нужным аргументом. Не считай руками.
3
Скопировать определение и print(F(...)).
Ваш ответ
Войдите, чтобы ответить на вопрос.