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

Как в ЕГЭ · 22 из 42

№16. Разность двух значений

По мотивам задания №16. Функция задана так: F(n) = n при n ≥ G и F(n) = n + 2 + F(n + 2) при n < G, где G — граница. Спрашивают разность двух значений — например, F(82) − F(81) при G = 2025. Прямая рекурсия от 81 до 2025 — почти тысяча вложенных вызовов, у самого предела Python, а при границе побольше она просто падает.

Что сделать

Посчитайте разность F(a) − F(b) для функции из условия так, чтобы большая граница не обрывала счёт.

Что приходит

  • granica — граница G

  • a и b — аргументы, разность значений функции в которых нужна

Что вернуть

Целое число F(a) − F(b).

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

Пример

G = 10, нужна F(4) − F(3). F(4) = 6 + F(6) = 6 + 8 + F(8) = 14 + 10 + F(10) = 24 + 10 = 34. F(3) = 5 + 7 + 9 + 11 + F(11) = 32 + 11 = 43. Разность — −9.

Тот же пример кодом
Вызов
raznost(10, 4, 3)
Вернуть
-9
Ctrl+Enter — проверить

Обсуждение

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

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