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