Все задачи №13
№13

вычитание и деление, «содержит» и «не содержит»

Исполнитель преобразует число на экране. У исполнителя три команды: A. Вычти 3 B. Вычти 6 C. Найди целую часть от деления на 2 Сколько существует программ, для которых при исходном числе 86 результатом является число 12, при этом траектория вычислений содержит число 53 и не содержит число 36? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе 27 траектория состоит из чисел 13, 7, 4.

Источник: ФИПИ (ЕГКР 13.12.2025), № 25360

Ответвпиши то, что вывела программа
Показать разбор
  1. Команды идут вниз, поэтому бери шаблон с отсечкой x < end.
  2. Строку x == end оставь первой, а под ней запрети число 36: верни 0.
  3. Сложи ответы по всем командам: −3, −6 и деление нацело на 2.
  4. Траектория обязана пройти через 53, поэтому раздели путь на два куска: из 86 в 53 и из 53 в 12.
  5. Перемножь число программ в кусках и выведи результат.
def f(x, end):
    if x == end: return 1
    if x == 36: return 0
    if x < end: return 0
    return f(x - 3, end) + f(x - 6, end) + f(x // 2, end)

print(f(86, 53) * f(53, 12))