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