Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
Первая из этих команд увеличивает число на экране на \(1.\) Вторая команда применяется только к числу, у которого в записи присутствует хотя бы одна цифра \(1,\) и действует, заменяя число на экране числом, в котором каждая цифра \(1\) заменена на цифру \(2.\)
Программа для исполнителя ~ это последовательность команд.
Сколько существует программ, для которых при исходном числе \(11\) результатом является число \(92?\)
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы ABA при исходном числе \(13\) траектория состоит из чисел \(14, \, 24, \, 25.\)
Решение:
Python
def f(n, targ):
if n >= targ:
return n == targ
ns = str(n)
if ns.count('1'):
nn = int(ns.replace('1', '2'))
return f(n + 1, targ) + f(nn, targ)
return f(n + 1, targ)
print(f(11, 92))
Ответ: \(1408\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене