← Все вопросы

Задание 16 ЕГЭ: как считать рекурсивную функцию F(n) на Python?

Задан 4 месяца назад597 просмотров3 ответа
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(...)).

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект