ЕГЭ. Информатика. Задача с роботом Исполнитель Робот преобразует число, записанное на экране. У
исполнителя есть две команды, которым присвоены номера:
1.Прибавить 1
2. Умножить на 4
Первая из них увеличивает число на экране на 1, вторая умножает на 4.
Программа для исполнителя Робот – это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное
число 2 в число 48 и при этом траектория вычислений программы
содержит число 4 и не содержит числа 12?

4 Июл 2020 в 19:43
322 +1
0
Ответы
1

Для решения данной задачи можно использовать метод динамического программирования.

Обозначим dp[i] - количество программ, которые преобразуют число 2 в число i и при этом на траектории вычислений программы есть число 4 и не содержится число 12.

Сначала рассмотрим базовые случаи:
dp[2] = 1

Далее, для каждого i от 3 до 48 (так как нужно преобразовать из 2 в 48), можно использовать рекуррентное соотношение:
dp[i] = dp[i-1] + dp[i/4] (если i делится на 4)

Таким образом, можно найти количество программ, удовлетворяющих условиям задачи, пройдя от dp[2] до dp[48] с использованием указанного рекуррентного соотношения.

После проведения всех необходимых вычислений, получим ответ.

18 Апр в 10:48
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 683 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир