Условие:
Дано число 1. Исполнитель преобразует число на экране. У исполнителя есть три команды, перечисленные ниже:
*+2
* +1
* × 4
Сколько у исполнителя существует способов получить число 19 из заданного на экране числа 1 ?

Дано число 1. Исполнитель преобразует число на экране. У исполнителя есть три команды, перечисленные ниже:
*+2
* +1
* × 4
Сколько у исполнителя существует способов получить число 19 из заданного на экране числа 1 ?
Чтобы найти количество способов получить число 19 из числа 1 с помощью указанных команд, мы можем использовать метод динамического программирования.
Создадим массив для хранения количества способов: Пусть ways[n] будет количеством способов получить число n. Мы инициализируем массив ways длиной 20 (от 0 до 19) и установим ways[1] = 1, так как у нас есть только один способ начать с 1.
Заполним массив: Мы будем заполнять массив ways ...
: Теперь мы можем пройти по всем числам от 1 до 19 и посчитать количество способов:
Таким образом, количество способов получить число 19 из числа 1 с помощью указанных команд составляет .