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