Сколько программ переводят 2 в 26, проходя через 10 и не проходя через 17
Условие
У исполнителя две команды: «прибавь 1» увеличивает число на экране на единицу, «умножь на 2» удваивает его. Программа — непустая последовательность таких команд. Траекторией вычислений называется последовательность всех чисел, которые появлялись на экране, включая исходное число 2 и результат 26. Сколько существует различных программ, которые преобразуют число 2 в число 26, причём траектория содержит число 10 и не содержит числа 17?
Ответ
28 программ
Решение по шагам
Шаг 1. Разрезаем задачу в обязательной точке
Обе команды только увеличивают число, поэтому траектория строго возрастает и каждое число может появиться в ней не более одного раза.
Если траектория обязана содержать 10, то она однозначно распадается на два независимых участка:
Любую программу первого участка можно приписать к любой программе второго, и обратно — так получается каждая нужная программа ровно один раз. По правилу произведения
Важная деталь: на первом участке все числа лежат между 2 и 10, поэтому запрет на 17 там не работает — он ограничивает только второй участок.
Шаг 2. Формула подсчёта путей и учёт запрета
Для участка с началом обозначим через число программ, ведущих из в . Смотрим на последнюю команду:
при этом (пустая программа), для всех (такие числа недостижимы) и — через запрещённое число не проходит ни одна траектория.
Обнуление — это не «вычёркивание строки», а именно присвоение нуля: следующие строки таблицы продолжают ссылаться на неё и получают ноль в качестве слагаемого.
Осталось ещё 3 шага — откроются после входа:
- Шаг 3. Первый участок: из 2 в 10
- Шаг 4. Второй участок: из 10 в 26 мимо 17
- Шаг 5. Ответ и проверка перебором хвостов
Бесплатно · займёт минуту
Частые ошибки
- ✗
Складывают результаты участков () вместо перемножения — участки независимы, работает правило произведения.
- ✗
Не обнуляют , а просто «пропускают» эту строку: тогда ошибочно унаследует значение и ответ станет заметно больше.
- ✗
Забывают, что на втором участке числа меньше 10 недостижимы, и подставляют в значение из первой таблицы.
- ✗
Применяют запрет на 17 к первому участку или, наоборот, считают, что запрет отменяет и обязательное прохождение через 10.
- ✗
Пытаются посчитать «все пути 2 → 26 минус пути через 17» — здесь это ошибка, потому что дополнительно требуется прохождение через 10.
- ✗
Считают траекторию без начального числа 2 и конечного 26 и из-за этого неверно трактуют условия «содержит 10» и «не содержит 17».