Одномерное динамическое программирование
Исполнитель преобразует число на экране. У исполнителя есть три команды:
1. Вычесть 1
2. Вычесть 2
3. Разделить нацело на 2
Выполняя первую из них, исполнитель уменьшает значение на экране на 1, выполняя вторую – уменьшает значение на экране на 2, третья - делит значение на 2 и отбрасывает остаток (если было число 11, то станет 5, если было число 10, то станет 5). Программа для исполнителя – это последовательность команд, каждая из которых уменьшает число. Сколько существует программ, для которых при исходном числе 15 результатом является число 2, при этом траектория вычислений не содержит число 6.