Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(30\) результатом является число \(4,\) при этом траектория вычислений не содержит числа \(8\) и содержит \(12?\)
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.
Например, для программы CAB при исходном числе \(13\) траектория состоит из чисел \(6,\) \(5,\) \(1.\)
Решение:
Python
def f(n, targ, deny):
if n == deny:
return 0
if n <= targ:
return n == targ
return f(n - 1, targ, deny) + f(n - 4, targ, deny) + f(n // 2, targ, deny)
print(f(30, 12, 8) * f(12, 4, 8))
Ответ: \(1358\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене