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