У исполнителя имеются три команды, которые обозначены латинскими буквами:
Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе \(5\) результатом является \(55,\) при этом траектория вычислений содержит \(15\) или \(20,\) и не содержит чисел \(18\) и \(30?\)
Решение:
Python
def f(n, targ, deny=(18, 30)):
if n >= targ:
return int(n == targ)
if n in deny:
return 0
return f(n + 2, targ, deny) + f(n + 3, targ, deny) + f(n * 2, targ, deny)
n15 = f(5, 15) * f(15, 55)
n20 = f(5, 20) * f(20, 55)
n1520 = f(5, 15) * f(15, 20) * f(20, 55)
print(n15 + n20 - n1520)
Ответ: \(142955\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене