Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Вычти 1
B. Найди целую часть от деления на 2
Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на целую части от деления числа на 2. Программа для исполнителя - это последовательность команд.
Сколько существует программ, для которых при исходном числе 40 результатом является 6, и при этом траектория вычислений содержит число 17?
Решение:
Решение на Python:
def F(x, y):
if x < y: return 0
if x == y: return 1
if x > y: return F(x - 1, y) + F(x // 2, y)
print(F(40, 17) * F(17, 6))
Ответ: 56
Ответ:
56