Задача #1522
Количество программ
(М. Ишимов) Исполнитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Прибавить 2
B. Прибавить 3
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 8 результатом является число 43, и при этом траектория вычислений содержит числа 28 и 31?
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
1368
def f(s, e):
if s >= e: return s == e
return f(s + 2, e) + f(s + 3, e)
print(f(8, 28) * f(28, 31) * f(31, 43))