Автор: Основная волна 10.06.25
Уровень: Базовый Условие задачи: У исполнителя есть три команды, которые обозначены латинскими буквами:
A. Вычесть 1
B. Вычесть 2
C. Найти целую часть от деления на 3
Сколько существует программ, для которых при исходном числе 19 результатом является число 4, при этом траектория вычислений содержит число 6 и не содержит 13? Код решения: Ответ: 212 Комментарии к коду: def F(a, b):
Объявление рекурсивной функции F с двумя параметрами a и b if a <= b or a == 13:
Проверяем условие остановки: если a ≤ b или a равно 13 return a == b
Если условие выше выполнено, возвращаем True только если a равно b, иначе False return F(a-1, b) + F(a-2, b) + F(a//3, b)
· Рекурсивно вызываем функцию F для трех случаев: a-1, a-2 и a//3 (целочисленное деление)
· Суммируем результаты всех трех вызовов print(F(19, 6) * F(6, 4))
· Вычисляем произведение F(19, 6) и F(6, 4)
· Выводим результат
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика