Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера.
1. Прибавить 1.
2. Умножить на 2.
Первая команда увеличивает число на экране
Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится
Сколько существует программ, которые преобразуют исходное
Решим задачу с помощью языка программирования Python. Напишем рекурсивную функцию, подсчитывающую необходимое количество программ. Учтём, что в программе не должно появляться
Приведём решение на языке Python.
def f(x, y):
if x > y or x % 10 == 3 or x // 10 == 3:
return 0
if x == y:
return 1
else:
return f(x + 1, y) + f(x * 2, y)
print(f(1, 40))
Ответ: 16.

