Задача #1532
Количество программ
(М. Ишимов) Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены латинскими буквами:
A. Вычесть 3
B. Вычесть 1
C. Найти целую часть от деления на 2
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 39 результатом является число 7, и при этом траектория вычислений содержит числа 19 и 16?
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
56320
def f(s, e):
if s <= e: return s == e
return f(s - 3, e) + f(s - 1, e) + f(s // 2, e)
print(f(39, 19) * f(19, 16) * f(16, 7))