|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 30 May 2001 20:15:55 To : Alex Bachin Subject : Hомер перестановки --------------------------------------------------------------------------------
Wed May 30 2001 16:58, Alex Bachin wrote to All:
AB> Возник вот такой вопрос:
AB> есть некоторая перестановка чисел из множества.
AB> (очевидно, количество этих перестановок N! - факториал)
AB> Как бы так задать нумерацию этих перестановок,
AB> чтобы для данной перестановки, быстро определить ее
AB> порядковый номер, и, что главнее, чтобы для кажодго
AB> номера быстро определить перестановку,
А не спасет ли многоуважаемого Алекса факториальная система счисления:
A=c(n)*n!+c(n-1)*(n-1)!+...+c(2)
Перевод в нее очевиден, делением последовательно на n!, (n-1)! ...
причем частное дает соответствующий разряд, а остаток делится дальше.
Первый коэффициент дает позицию первого элемента перестановки, второй -
второго (на свободные! (С)Варенуха) и т.п.
С уважением
Евгений Машеров АКА СанитарЖеня
--- ifmail v.2.15
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300c5472ef6.html, оценка из 5, голосов 10
|