Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Вычти 5
2. Вычти 7
Первая из них уменьшает число на экране на 5, вторая уменьшает число на экране на 7.
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 101 результатом является число 20, и при этом траектория вычислений содержит число 37?
Решение программой:
def f(x,y):
if x < y :
return 0
if x == y:
return 1
if x > y:
return f(x - 5, y) + f(x - 7, y)
print(f(101, 37) * f(37, 20))
Ответ: 558