23

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

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

Исполнитель преобразует число на экране. У исполнителя есть две команды: «Вычти 1» и «Найди целую часть от деления на 2». Первая команда уменьшает число на экране на 1, вторая заменяет число на экране на целую часть от деления числа на 2. Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 32 результатом является число 1, и при этом траектория вычислений содержит число 12? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 122 при исходном числе 10 траектория состоит из чисел 9, 4, 2.

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

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

6 шагов
1

Обозначим через $f(n)$ число программ, переводящих число $n$ в число 1. Для числа 1 программа может быть пустой, поэтому $f(1)=1$.

$$f(1)=1$$
2

Для остальных чисел последняя команда может быть либо вычитанием 1, либо целочисленным делением на 2.

$$f(n)=f(n-1)+f(\lfloor n/2\rfloor)$$
3

Последовательно вычисляя значения, получаем $f(12)=47$.

4

Теперь считаем число программ, переводящих 32 в 12. Пусть $g(n)$ — число программ из $n$ в 12. При $n<12$ полагаем $g(n)=0$, а $g(12)=1$.

$$g(n)=g(n-1)+g(\lfloor n/2\rfloor)$$
5

Последовательное вычисление от 13 до 32 даёт $g(32)=10$.

Каждая программа из 32 в 12 может быть независимо продолжена любой программой из 12 в 1.

$$10\cdot47=470$$
Ответ
470
470
так ответ выглядит в бланке

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

Не учитывают, что траектория должна содержать число 12.

Складывают вместо умножения количество способов пройти два этапа.

Забывают учесть пустую программу для перехода из 1 в 1 при рекуррентном подсчёте.

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

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

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

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