Исполнитель Май4 преобразует число, записанное на экране. У исполнителя три команды, которым присвоены номера:
1. Прибавь 1.
2. Прибавь 2.
3. Прибавь 4.
Первая из них увеличивает число на экране
Для сложения справедлив переместительный (коммутативный) закон, значит, порядок команд в программе не имеет значения для результата.
Все команды увеличивают исходное число, поэтому количество команд не может превосходить
Таким образом, команд может быть 3, 4, 5, 6, 7, 8 или 9. Поэтому порядок команд не имеет значения, каждому числу команд соответствует один набор команд, которые можно расположить в любом порядке.
Рассмотрим все возможные наборы и вычислим количество вариантов рассположения команд в них.
Всего имеем
Ответ: 96.
Приведём другое решение на языке Python.
def f(x, y):
if x == y:
return 1
if x > y:
return 0
return f(x + 1, y) + f(x + 2, y) + f(x + 4, y)
print(f(21, 30))

