23

Решение: Программы с заданной траекторией

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

Исполнитель преобразует число на экране. У него есть две команды: «Прибавь 2» и «Умножь на 2». Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 52, и при этом траектория вычислений содержит число 18? Траектория вычислений программы — это последовательность результатов выполнения всех команд.

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

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

4 шага
1

Обозначим через $f(n)$ количество программ, переводящих исходное число 1 в число $n$. Последняя команда программы может быть «Прибавь 2» или, если $n$ чётно, «Умножь на 2». Поэтому $f(n)=f(n-2)+f(n/2)$ для чётных $n$ и $f(n)=f(n-2)$ для нечётных $n$.

$$f(n)=f(n-2)+\begin{cases}f(n/2),& n\text{ чётно},\\0,& n\text{ нечётно}.\end{cases}$$
2

Последовательно вычисляя значения от 1 до 18, получаем $f(18)=16$. Это число программ, которые переводят 1 в 18.

3

Теперь считаем число программ от 18 до 52 по той же рекуррентной формуле, положив $g(18)=1$ и $g(n)=0$ для $n<18$. Получаем $g(52)=6$.

Любая программа, траектория которой содержит 18, однозначно состоит из программы от 1 до 18 и программы от 18 до 52. Поэтому количества перемножаются.

$$16\cdot 6=96$$
Ответ
96
96
так ответ выглядит в бланке

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

Не учитывать обе возможные последние команды при чётном значении.

Сложить, а не перемножить количество программ до 18 и после 18.

Посчитать только программы из 1 в 52, не требуя прохождения через 18.

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

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

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

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