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