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