Исполнитель РазДваПять преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
3. Прибавить 5
Первая команда увеличивает число на экране на 1, вторая умножает его на 2, третья увеличивает на 5.
Программа для исполнителя РазДваТри — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число 1 в число 18, и при этом траектория вычислений содержит число 9 и не содержит числа 11?
Траектория вычислений – это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 4 траектория будет состоять из чисел 20, 21, 42.
Искомое количество программ равно количеству программ, получающих из числа 1 число 18. Траектория вычислений не должна содержать числа 11 и должна содержать число 9.
Пусть R(n) — количество программ, которые число 1 преобразуют в число n.
Верно следующее соотношение:
R(n) = R(n−1) + R(n/2)(если n — чётно) + R(n-5).
R(2) = 2
R(3) = 2
R(4) = 4
R(5) = 4
R(6) = 7
R(7) = 9
R(8) = 15
R(9) = 19
R(10) = 19
R(11) = 0
R(12) = 0
R(13) = 0
R(14) = 19
R(15) = 38
R(16) = 38
R(17) = 38
R(18) = 57
Таким образом, количество программ, удовлетворяющих условию задачи равно 57.
Ответ: 57.