Исполнитель преобразует число на экране.
У исполнителя есть четыре команды, которым присвоены номера.
1. Прибавить 1.
2. Прибавить 2.
3. Умножить на 2.
4. Умножить на 3.
Первая команда увеличивает число на экране
Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится
Сколько существует программ, которые преобразуют исходное
Приведём решение на языке Python.
def f(start, end, fl1, fl2):
if start == end:
return 1
if start > end:
return 0
if start < end:
if fl1 == False:
return f(start * 2, end, True, False) + f(start * 3, end, True, False)
if fl2 == False:
return f(start + 1, end, False, True) + f(start + 2, end, False, True)
else:
return f(start + 1, end, False, True) + f(start + 2, end, False, True) + f(start * 2, end, True, False) + f(start * 3, end, True, False)
print(f(1, 24, True, True))
Таким образом, количество программ, удовлетворяющих условию задачи и выведенное на экран,
Ответ: 9.

