用例:
[1,2,3,4,5]的排列有(5!)种,包括12345,12354等等。
permute([1,2,3,4,5],0)计算序号为0的排列,即12345。
源代码:
def permute(seq, index):
seqc = seq[:]
seqn = [seqc.pop()]
divider = 2
while seqc:
index, new_index = divmod(index,divider)
seqn.insert(new_index, seqc.pop())
divider += 1
return ''.join(seqn)