Задача #4357

Количество программ

Уровень ЕГЭ

(А. Шуруха) Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Прибавь 1
B. Замени цифру
Первая команда увеличивает число на экране на 1. Вторая команда применяется только к числу, в записи которого цифра 1
встречается ровно один раз, и действует, заменяя эту цифру 1 на цифру 3.
Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 11 результатом является число 94?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.
Например, для программы AAB при исходном числе 11 траектория состоит из чисел 12, 13, 33.

Ответ
Новая
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть Нажми, чтобы скрыть

Ответ

768
def f(c, e):
if c > e: return 0
if c == e: return 1
p = str(c)
r = 0
r += f(c + 1, e) # A
if p.count('1') == 1: r += f(int(p.replace('1', '3')), e) # B
return r
print(f(11, 94))
Быстрый переход
Перейти к задаче