Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.
A. прибавь 3
B. прибавь 4
C. возведи в квадрат
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 4 результатом является число 41, и при этом траектория вычислений содержит числа 7 и 18? Траектория вычислений должна содержать оба числа.
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы ACB при исходном числе 3 траектория состоит из чисел 6, 36, 40.
Приведём решение на языке Python.
def f(x, y):
if x > y:
return 0
if x == y:
return 1
else:
return f(x + 3, y) + f(x + 4, y) + f(x ** 2, y)
print(f(4, 7) * f(7, 18) * f(18, 41))
Ответ: 81.

