Изменения
Нет описания правки
== Общий алгоритм получения комбинаторного объекта по номеру в лексикографическом порядке ==
Получим элементы объекта по порядку, сначала определим какой элемент будет стоять на 1-м месте,2-м и т.д.Для этого узнаем в какой из "групп", определяемых префиксом 1..Пусть мы нашли первые i, находится наш элементэлементов нашего объекта. <br> Для этого достаточнопросматривать группы в лексикографическом порядке и проверять находимся ли мы в этой "группе", т.е. наш номер принадлежитдиапазону всех вариантов i+1 элемента посчитаем диапазон номеров этой группыобъектвов с данным префиксом. <br> Если принадлежитискомый номер входит в один из диапазонов, то понятноочевидно мы нашли элемент, что который должени стоять на (i+1)-ю позицию следуют поставить соответственный элемент и перейти к построению суффикса, иначе выкинем эту группу полностью из рассмотрения и будем искать номерсреди оставшихсяом месте. <br>
''//В начале каждого шага numOfObject - номер комбинаторного объекта среди объектов с заданным префиксом. ''
'''for''' i = 1 '''to''' n '''do''' ''//n - количество элементов в комбинаторном объекте''
перейти к выбору следующего элемента
== Перестановки ==