РУҚА
16

Решение: Вычисление рекурсивной функции

ЕГЭ · Информатика · Задание 16 · Динамическое программирование
ПовышеннаяФИПИ2C19E5Короткий ответ≈ 3 минутыРазбор в 4 шагаОтвет сверен с ключом
Условие

Алгоритм вычисления значения функции $F(n)$, где $n$ — целое неотрицательное число, задан следующими соотношениями:

$F(n)=0$ при $n\leq 1$;

$F(n)=2\times F(n-1)+2$, если $n>1$ и при этом $n$ нечётно;

$F(n)=n/2+F(n-1)$, если $n>1$ и при этом $n$ чётно.

Чему равно значение функции $F(30)$?

Примечание. При вычислении значения $F(n)$ используется операция целочисленного деления.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Начальные значения: $F(0)=0$ и $F(1)=0$. Последовательно применяем заданные правила.

2

Для чётного аргумента $30$ используется второе слагаемое $n/2$: $F(30)=30/2+F(29)$.

3

Последние значения последовательности: $F(27)=49120$, $F(28)=14+49120=49134$, $F(29)=2\times49134+2=98270$.

Подставляем значение $F(29)$: $F(30)=15+98270=98285$.

$$F(30)=\frac{30}{2}+F(29)=15+98270=98285$$
Ответ
98285
98285
так ответ выглядит в бланке

Где здесь ошибаются

Использование формулы для нечётного аргумента при вычислении $F(30)$.

Забывают, что при чётном $n$ используется целочисленное деление.

Пропускают добавление $2$ в формуле для нечётного аргумента.

Закрепить приёмВ теме «Динамическое программирование» ещё 71 задача — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Динамическое программирование»: в ней 72 задачи, и у каждой есть такой же разбор. Регистрация не нужна.