Для решения задачи методом "грубой силы" начинающий программист Иосиф решил написать блок программы, содержащий
k вложенных циклов.
На бумаге это могло бы выглядеть примерно так:
\(for\ i_1\ in\ range\ (a_1,\ b_1):\\ \ \ \ for\ i_2\ in\ range\ (a_2,\ b_2): \\ \ \ \ \ \ \ \ \cdots \cdots \cdots \\ \ \ \ \ \ \ \ \ \ \ \ for\ i_k\ in\ range\ (a_k\,b_k): \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \cdots \cdots \cdots \\ \)
Иосиф не смог реализовать "
такую конструкцию", поскольку k оказалось параметром задачи. Помогите Иосифу решить задачу используя метод рекурсивного получения следующего состояния цикла.
Напишите подпрограмму, которая получает на вход текущее состояние (список X), набор начальных значение (список А), набор финальных значений (список В) и возвращает следующее (в порядке возрастания) значение. Гарантируется, что следующее значение получить можно.
Запрещенные операторы: import