Изменения

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

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

228 байт добавлено, 05:04, 18 ноября 2011
Нет описания правки
*'''was[n]''' {{---}} использовали ли мы уже эту цифру в перестановке
 
*'''curFree''' {{---}} если элемент с номером <tex>k</tex> свободен, то он имеет номер '''curFree''' среди всех свободных элементов с 1 по <tex>k</tex>
На <tex>i</tex>-ом шаге:
'''for''' i = 1 '''to''' n '''do''' '''{'''
alreadyWas = (numOfPermutation - 1) div (n-i)!
numOfPermutation = ((numOfPermutation - 1) mod (n-i)! ) + 1 curFree = 0 '''for''' k = 1 '''to''' n '''do''' '''{'''
'''if''' was[k] = false '''{'''
curFree++
'''if''' curFree = alreadyWas + 1 '''{'''
j = k
break
'''}'''
'''}'''
'''if''' curFree = alreadyWas + 1 '''{'''
j = k
break
'''}'''
'''}'''
permutation[i] = j
was[j] = true
Анонимный участник

Навигация