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