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

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

Показать ответ
37861
Подсказки (3)
  1. Сначала выразите F(37811) через значение функции G.
  2. При каждом уменьшении аргумента G на 3 значение функции увеличивается на 1, пока аргумент не станет не больше 20.
  3. F(37811)=3G(37808)+7, G(37808)=G(20)+12596=22+12596=12618, поэтому F(37811)=3⋅12618+7.
Решение
def f(n):
    return 3 * g(n - 3) + 7
from functools import *
@lru_cache()
def g(n):
    if n<= 20: return n + 2
    return g(n - 3) +1
for i in range(20,37811): g(i)
print(f(37811))
Частые ошибки
  • Забывают, что в формуле для F(37811) аргумент функции G равен 37808.
  • Ошибочно считают базовым значение G(0) вместо G(20).
  • Не прибавляют 1 за каждый рекурсивный шаг вычисления G.

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

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

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

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

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

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

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

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

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