Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.
A. Прибавить 3
B. Прибавить 5
C. Умножить на 2
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 4 результатом является число 31, и при этом траектория вычислений содержит хотя бы одно из чисел — 14 или 19?
Решение:
Решение на Python:
def F(x, y, k):
if x > y:
return 0
if x == 14 or x == 19:
k = 1
if x == y:
return k
return F(x + 3, y, k) + F(x + 5, y, k) + F(x * 2, y, k)
print(F(4, 31, 0))
Ответ: 22
Ответ:
22