РУҚА
23

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

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

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

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

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

4 шага
1

Чтобы траектория содержала число 10, программа состоит из пути от 30 до 10 и пути от 10 до 1. Эти части можно комбинировать независимо.

2

Обозначим через $f(n)$ число способов попасть из $n$ в 10. Используем рекуррентное соотношение $f(n)=f(n-1)+f(\lfloor n/2 \rfloor)$ и получаем $f(30)=12$.

3

Обозначим через $g(n)$ число способов попасть из $n$ в 1. По формуле $g(n)=g(n-1)+g(\lfloor n/2 \rfloor)$ получаем $g(10)=30$.

Перемножаем количество вариантов двух независимых частей программы.

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

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

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

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

Посчитать одинаковые последовательности команд как одну программу.

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

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

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

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