Изменения

Перейти к: навигация, поиск

Получение объекта по номеру

6 байт добавлено, 01:57, 26 октября 2011
Перестановки
== Перестановки ==
Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки.
<source lang="c"> '''<f[n]=n! '''ans[n] ''//искомая перестановка''''' '''was[n] ''//использовали ли мы уже эту цифру в переставновке'''''
'''for''' i = 1 '''to''' n '''do ''//n-это количество цифр в перестановке'''''
''' alreadyWas = (numOfPermutation-1) div f[n-i] ''' ''' numOfPermutation = (numOfPermutation-1) mod f[n-i] ''// сколько цифр уже полностью заняты предыдущими перестановками''''' '''''//сейчас мы должны поставить ту цифру, которая еще полностью не занята, т.е. AlreadyWas+1'''''
'''for''' j = 1 '''to''' n '''do'''
'''if''' was[j] = false
'''if''' cntFree = AlreadyWas+1
'''then ''' ans[i] = j
was[j] =w true  </source>
== Сочетания ==
88
правок

Навигация