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