Изменения

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

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

87 байт добавлено, 01:25, 26 октября 2011
Нет описания правки
Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки.
'''<tex>f[n]=n!</tex>'''
'''<tex>ans[n]</tex> ''//искомая перестановка''' '''<tex>was[n]</tex> ''//использовали ли мы уже эту цифру в переставновке''' '''for''' <tex> i \leftarrow 1 </tex> '''to''' <tex> n </tex> '''do ''// n-это количество цифр в перестановке''''' '''<tex> AlreadyWas \leftarrow (NumOfPermutation-1) div f[n-i] </tex> ''// сколько цифр уже полностью заняты предыдущими перестановками'''''
'''''//сейчас мы должны поставить ту цифру которая еще полностью не занята, т.е. AlreadyWas+1'''''
'''for''' <tex> j \leftarrow 1 </tex> '''to''' <tex> n </tex> '''do'''
'''if''' <tex> CntFree = AlreadyWas+1 </tex>
'''then ''' <tex> ans[i] \leftarrow j </tex>
<tex> was[j] \leftarrow true </tex>
88
правок

Навигация