Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
A. Прибавить 2
B. Прибавить 3
C. Умножить на 2
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 3 результатом является число 25, и при этом траектория вычислений содержит число 10 и не содержит 17?
Решение:
Решение на Python:
def f(x, y):
if x > y or x == 17: return 0
if x == y: return 1
if x < y:
return f(x + 2, y) + f(x + 3, y) + f(x * 2, y)
print(f(3, 10) * f(10, 25))
Ответ: 90
Ответ:
90