Олимпиадный тренинг

Задача . Перебор состояний цикла (числа в P-й СС) (Py)


Задача

Темы:
Дано k-значное представление неотрицательного целого числа P-й системе счисления .
Такое предстваление можно рассматривать как некоторое состояние переменных в k вложенных циклах,
с одинаковыми параметрами изменений (от 0 до P-1 включительно).
Надо определить следующее состояние цикла (или k-значное представление следующего числа)
 
Входные данные для подпрограммы Возвращаемое
значение
Ожидаемое состояние первых k
элементов списка A
после выполнение подпрограммы
пояснение
состояние первых k елементов
списка A
  k     p  
0 0 0 1 4 2 True 0 0 1 0 В список  не менее 4 элементов
00012= 1 и 2=00102 
7 7 7 3 8 False 0 0 0  7 7 7 - это финальное состояние цикла
/ максимальное 3-значное число в 8-й СС
0 0 0 8 4 9 True 0 0 1 0   
Напишите подпрограмму, которая решает поставленную задачу.
Программа получает массив/список с текущим состоянием и 
  • находит следующее состояние
  • если текущее состояние не "финальное", то
    • получает следующее
    • возвращает True
  • если текущее состояние "финальное" (k значений P-1), то
    • получает "начальное" (k нулевых значений)
    • возвращает False
       
Пояснение: Программа реализует один такт работы цикла (прибавление 1)

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python4
Комментарий учителя