Динамическое программирование. Информатика Исполнитель Вычислитель преобразует число на экране компьютера. У него есть две команды:

Прибавь 1

Умножь на 3

Программа Вычислителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 3 результатом является число 18?

18 Мар 2023 в 19:40
61 +1
0
Ответы
1

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

Заведем массив dp[], где dp[i] будет хранить количество программ, для которых результатом является число i.

Изначально у нас dp[3] = 1, так как изначальное число - 3.

Затем переберем все числа от 3 до 18 и посчитаем количество программ для каждого числа, используя рекуррентную формулу:

dp[i] = dp[i-1] + dp[i/3], если i делится на 3 без остатка

dp[i] = dp[i-1], если i не делится на 3 без остатка

Таким образом, мы сможем найти количество программ, для которых результатом является число 18.

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