Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены буквенные обозначения:
A. Прибавить 1
B. Умножить на 2
Программа для исполнителя — это последовательность команд.
Сколько различных программ существует, для которых при исходном числе 4 результат равен 16, и при этом траектория вычислений содержит числа 6 и 12?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.
Например, для программы ABA при исходном числе 5 траектория состоит из чисел 6, 12, 13.
def count(x, target, seen6, seen12):
if x > target:
return 0
if x == 6:
seen6 = True
if x == 12:
seen12 = True
if x == target:
return 1 if seen6 and seen12 else 0
📌 На траектории обязательно должны встретиться 6 и 12.
return count(x + 1, target, seen6, seen12) + count(x * 2, target, seen6, seen12)
print(count(4, 16, False, False))
📌 Старт 4, финиш 16. Ответ: 2.
Время решения
00:00.00
Нажмите «Пуск», когда начнёте решать
Пробел — пуск и пауза
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода