Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.
Программа для исполнителя – это последовательность команд.
Сколько существует программ, которые преобразуют число \(6\) в число \(48,\) и при этом траектория вычислений содержит \(14\) или \(18?\) Траектория должна содержать хотя бы одно из указанных чисел.
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы \(ACB\) при исходном числе \(3\) траектория состоит из чисел \(4,\) \(12,\) \(24.\)
Решение:
Python
def f(n, targ):
if n > targ:
return 0
if n == targ:
return 1
return f(n + 1, targ) + f(2 * n, targ) + f(3 * n, targ)
n14 = f(6, 14) * f(14, 48)
n18 = f(6, 18) * f(18, 48)
n1418 = f(6, 14) * f(14, 18) * f(18, 48)
print(n14 + n18 - n1418)
Ответ: \(69\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене