Задача типа #23: Динамической программирование
Динамической программирование
Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены латинскими буквами:
A. Прибавить 1
B. Прибавить 2
C. Умножить на 2
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 3 результатом является число 18, при этом траектория вычислений содержит число 14 и не содержит 8?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе 7 траектория будет состоять из чисел 14, 16, 17.
Ответ:
360
Алгоритм решения: Создаём функцию в котороый указываем условия для return 0 и 1, рекурсивно вызываем функцию для всех вариантов команд, находим сумму всех успешных вариантов. Возможно другое решение.
Алгоритм решения: Создаём функцию в котороый указываем условия для return 0 и 1, рекурсивно вызываем функцию для всех вариантов команд, находим сумму всех успешных вариантов. Возможно другое решение.
Посмотреть решение задачи (код на Python) в Telegram боте по ID задачи 123008