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