Сколько существует программ, для которых при исходном числе 1
Условие
Исполнитель Май17 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера.1. Прибавить 1.2. Прибавить 3.Первая команда увеличивает число на экране на 1, вторая увеличивает его на 3. Программа для исполнителя Май17 — это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 8? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Используем метод динамического программирования. Заведем массив dp, где dp[i] — количество способов получить число i с помощью таких команд.
База динамики:dp[1] = 1.Формула перехода:dp[i] = dp[i - 1] + dp[i - 3].Но при этом не учитываются такие числа, которые больше 8, но в них мы можем добраться из значения меньше
Осталось ещё 2 шага
Далее будет приведены значения в ячейках dp…
Приведём другое решение на языке Python. def…
Бесплатно · займёт минуту