Задача #1528
Количество программ
(М. Ишимов) Исполнитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Вычесть 3
B. Вычесть 1
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 34 результатом является число 18, и при этом траектория вычислений содержит числа 25 и 22?
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
114
def f(s, e):
if s <= e: return s == e
return f(s - 3, e) + f(s - 1, e)
print(f(34, 25) * f(25, 22) * f(22, 18))