Подсчёт программ исполнителя
Исполнитель преобразует число на экране. У него есть две команды: 1) «Вычти 1» — уменьшает число на 1; 2) «Найди целую часть от деления на 2» — заменяет число целой частью от деления на 2. Программа является последовательностью команд. Сколько существует программ, для которых при исходном числе 30 результатом является число 1, если траектория вычислений содержит число 10? Траектория вычислений — последовательность результатов выполнения всех команд.
Условие как в банке ФИПИ — открыть и сверить
| Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Вычти 1 2. Найди целую часть от деления на 2
Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на целую часть от деления числа на 2.
Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 30 результатом является число 1, и при этом траектория вычислений содержит число 10? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 122 при исходном числе 10 траектория состоит из чисел 9, 4, 2. | |||
| |
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Разбейте программу на две части: от 30 до 10 и от 10 до 1.
2Наводящая — какие числа считатьуровень 2 из 3
Для каждого числа посчитайте количество способов попасть в него: число способов для $n$ равно сумме способов для $n-1$ и для $\lfloor n/2 \rfloor$.
3Прямая — фактически решениеуровень 3 из 3
Получается: из 30 в 10 — 12 программ, из 10 в 1 — 30 программ. Общее число равно $12 \cdot 30 = 360$.