Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены буквами.
A. Вычесть 1.
B. Прибавить 3.
C. Умножить на 2.
Программа для исполнителя — это последовательность команд. Например, программа BAC при исходном
Сколько существует программ, которые преобразуют исходное
Приведём решение на языке Python.
def f(start, end, k):
if start > end + 1:
return 0
if start == end:
return 1
else:
if k == 1:
return f(start + 3, end, k - 1) + f(start * 2, end, k - 1)
else:
return f(start - 1, end, k + 1) + f(start + 3, end, k) + f(start * 2, end, k)
print(f(4, 14, 0))
Ответ: 46.

