У исполнителя имеются три команды, которые обозначены латинскими буквами:
Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе \(78\) результатом является \(2,\) при этом траектория вычислений содержит хотя бы одно из чисел \(30\) или \(42?\)
Решение:
Python
def f(n, targ):
if n <= targ:
return n == targ
return f(n - 3, targ) + f(n - 4, targ) + f(n // 2, targ)
A = f(78, 30) * f(30, 2)
B = f(78, 42) * f(42, 2)
AB = f(78, 42) * f(42, 30) * f(30, 2)
print(A + B - AB)
Ответ: \(3465397\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене