16
правок
Изменения
→Примеры
== Примеры ==
'''Алгоритм получения перестановки Вычислим по перестановке ее номеруномер.''' реализуется аналогичноВозьмем перестановку из 4 чисел: сначала определяем первую цифру перестановки3124. Перестановки, деля номер начинающиеся на <tex>числа 1, 2 находятся перед нашей. Их количество: 2*(N4-1)!</tex> и прибавляя =12. Следовательно минамально возможный номер нашей перестановки: 12+1=13. Следующий элемент перестановки - 1, затем вторуюминимально возможный, деля остаток от предыдущего деления на <tex>(Nследовательно номер перестановки не поменялся. 3-ий элемент перестановки -2)!</tex>, т.к. число 1 уже использовалось ранее в перестановке, то число 2 - минимально возможный элемент, и тон также не меняет номер перестановки. Последний элемент не играет роли.дСледовательно номер нашей перестановки 13.
'''Аналогично по номеру получим перестановку.''' Возьмем номер перестановки из 4 элементов: 13. Определим первую цифру перестановки, разделим нацело номер на (4-1)! и прибавим 1: x1 = 13 div (3!) + 1 = 3. Остаток от деления: 1. Аналогично найдем 2-й элемент: х2 = 1 div (2!) + 1 = 1. Остаток от деления: 1. 3-й элемент: х3 = 1 div (1!)+1 = 1. Но т.к. число 1 уже использовалось в перестановке, возьмем следующий в лексикографическом порядке элемент 2, следовательно х3 = 2. 4-ый элемент получается исключением х4 = 4. Получаем перстановку: 3124.
== Ссылки ==
[http://www.chasolimp.de/practic_info63.htm Получение объекта по номеру и номера по объекту]