Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.
Программа для исполнителя – это последовательность команд.
Сколько существует программ, которые преобразуют число \(8\) в число \(48,\) и при этом траектория вычислений содержит \(14\) или \(18,\) но не содержит чисел \(17\) и \(28?\)
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ACB при исходном числе \(3\) траектория состоит из чисел \(5, \, 10, \, 13.\)
Решение:
Python
def f(n, targ, deny):
if n in deny:
return 0
if n >= targ:
return n == targ
return f(n + 2, targ, deny) + f(n + 3, targ, deny) + f(n * 2, targ, deny)
q14 = f(8, 14, []) * f(14, 48, [17, 28])
q18 = f(8, 18, [17]) * f(18, 48, [28])
q1418 = f(8, 14, []) * f(14, 18, [17]) * f(18, 48, [28])
print(q14 + q18 - q1418)
Ответ: \(10800\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене