РУҚА
23

Решение: Подсчёт программ с числом 11

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

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

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

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

4 шага
1

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

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

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

3

Теперь обозначим через $g(n)$ количество программ, переводящих число n в число 11. Для $n<11$ имеем $g(n)=0$, а $g(11)=1$. По той же рекуррентной формуле получаем: $g(22)=2$, $g(23)=3$, $g(24)=4$, ..., $g(32)=12$.

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

$$12 \cdot 37=444$$
Ответ
444
444
так ответ выглядит в бланке

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

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

Не учитывают оба возможных перехода: вычитание 1 и деление на 2 с взятием целой части.

Считают только один способ достижения числа 11.

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

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

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

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