Задание 16 ЕГЭ по информатике · F97622

Две функции F и GПовышеннаяКЭС 3.7
Алгоритм вычисления функций F(n) и G(n), где n – целое число, задан следующими соотношениями:
F(n) = 2 × G(n) + G(n – 1);
G(n) = n, если n ≤ 10;
G(n) = G(n – 2) + 1, если n > 10.
Чему равно значение выражения F(26728)?

Показать ответ
40106
Подсказки (3)
  1. Сколько раз нужно уменьшить аргумент функции G на 2, чтобы получить значение не больше 10?
  2. Для чётного аргумента 26728 базовое значение достигается при G(10), а для нечётного аргумента 26727 — при G(9).
  3. G(26728)=10+26728−102=13369, G(26727)=9+26727−92=13368, поэтому F(26728)=2⋅13369+13368.
Решение
def f(n):
    return 2 * g(n) + g(n - 1)
from functools import *
@lru_cache()
def g(n):
    if n<=10: return n
    return g(n - 2) + 1
for i in range(1,26728): g(i)
print(f(26728))
Частые ошибки
  • Использовать в формуле F(26728) значение G(26728) вместо G(26727) во втором слагаемом.
  • Ошибочно завершить рекурсию для нечётного аргумента на G(10) вместо G(9).
  • Забыть, что каждое рекурсивное применение увеличивает значение функции на 1.

Источник: Открытый банк ФИПИ · openfipi.devinf.ru

Похожие задания

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.