Задача #1525

Количество программ

Уровень ЕГЭ

(М. Ишимов) Исполнитель преобразует число на экране.

У исполнителя есть три команды, которые обозначены латинскими буквами:
A. Найти целую часть от деления на 3
B. Вычесть 1
C. Вычесть 2

Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 30 результатом является число 8, и при этом траектория вычислений не содержит число 11?

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

8396
def f(s, e):
if s <= e or s == 11: return s == e
return f(s // 3, e) + f(s - 1, e) + f(s - 2, e)
print(f(30, 8))
Быстрый переход
Перейти к задаче