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