Войти Создать аккаунт

Как в ЕГЭ · 7 из 20

№16. Функция, которую в лоб не досчитать

По мотивам задания №16. Функция задана рекурсивно, и её значение просят для большого n. Рекурсия, переписанная из условия дословно, на большом n или зовёт себя миллиарды раз, или падает ошибкой RecursionError: глубина вызовов в Python ограничена тысячей. Значения проще посчитать снизу вверх.

Что сделать

Посчитайте F(n) по правилам условия так, чтобы и n = 10 000 считалось мгновенно.

Что приходит

  • n — натуральное число, от 1 до 10 000

Что вернуть

Значение F(n) — целое число.

Допишите функцию f в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

F(1) = 1, F(2) = 2. F(3) — нечётное: F(2) + F(1) = 3. F(4) — чётное: F(3) − F(2) + 4 = 5. F(5) = F(4) + F(3) = 8.

Тот же пример кодом
Вызов
f(5)
Вернуть
8
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.