РУҚА
16

Шешімі: Рекурсивное вычисление функции

ЕГЭ · Информатика · Тапсырма 16 · Динамикалық бағдарламалау
КүрделіФИПИ8C4B9DҚысқа жауап≈ 3 минутТалдау 4 қадамЖауап сверен с ключом
Условие

Алгоритм вычисления значения функции $F(n)$, где $n$ — целое неотрицательное число, задан следующими соотношениями: $F(n)=0$ при $n\leq 1$; $F(n)=2\cdot F(n-1)+2$, если $n>1$ и $n$ нечётно; $F(n)=n/2+F(n-1)$, если $n>1$ и $n$ чётно. Чему равно значение функции $F(28)$?

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

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешімін қадамдап көрсету

4 қадам
1

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

$$F(2)=1$$
2

Для нечётных аргументов значение удваивается и увеличивается на 2, для чётных прибавляется половина аргумента. После последовательного вычисления получаем:

$$F(24)=12272,\quad F(25)=2\cdot12272+2=24546$$
3

Вычисляем следующие значения:

$$F(26)=13+24546=24559,\quad F(27)=2\cdot24559+2=49120$$

Число $28$ чётное, поэтому:

$$F(28)=\frac{28}{2}+F(27)=14+49120=49134$$
Жауап
49134
49134
так ответ выглядит в бланке

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

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

Забывают прибавить $n/2$ при чётном значении $n$.

Начинают рекурсию с неверного базового значения вместо $F(0)=F(1)=0$.

Закрепить приёмВ теме «Динамикалық бағдарламалау» ещё 71 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 16 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Динамикалық бағдарламалау»: в ней 72 задачи, и у каждой есть такой же разбор. Тіркеу қажет емес.