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