394
правки
Изменения
→Перестановки
== Перестановки ==
Рассмотрим алгоритм получения номера в лексикографическом порядке по данной перестановки размера n.
permutation[n] ''{{---}} данная перестановка''
was[n] ''{{---}} использовали ли мы уже эту цифру в перестановке''
'''for''' j = 1 '''to''' a[i]-1 '''do''' ''// перебираем элемент который может стоять на i-м месте лексикографически меньше нашего
'''if''' was[j] = false ''// если элемент j ранее не был использован
'''then ''' numOfPermutation += <tex>P_{P[n-i} </tex> ] ''// все перестановки с префиксом длиной i-1 равным нашему, и i-й элемент у которых меньше
'' нашего в лексикографическом порядке идут раньше данной престановки
was[i] = true ''// элемент i использован