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

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

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

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

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

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

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

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

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

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

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

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