Доброго времени, господа. Есть задача по генерации перестановок с повторениями, она же "Permutations with repetitions". Все способы, которые нахожу, генерируют перестановки c возрастанием по одной позиции. Например, для {4,4} получится 4^2 перестановок 00 01 02 03 10 ... 32 33. Т.е. во второй позиции сначала увеличиваем до 3 и так далее. Меня интересует реализация в которой при появлении в перестановке, например, двойки, все комбинации 0 и 1 уже сгенерированы. Перед появлением тройки сгенерированы все перестановки с 0, 1 и 2. Т.е. последовательность должна быть такого вида 00 01 10 11 02 20 12 21 22 03 ... 32 33. Можно сгенерировать все перестановки и отсортировать по критерию максимального элемента, но меня интересует именно последовательная генерация, поскольку перестановок очень много. Вопрос такой -- каким образом можно выполнить последовательную генерацию перестановок в указанном виде? Если есть идеи как это сделать или вы где-нибудь подобную реализацию встречали, поделитесь, пожалуйста. Благодарю.