Quick actions

cmd+k|ctrl+k

Navigation

Languages

permutation

Snippet info

Language

Python

Visibility

public

Author

fx2000fyj

Created

2025-07-26T01:56:30.44459Z

Updated

2025-07-26T05:38:15.033387Z

import math

def permutation(n, m):
    l = list(range(1,n+1))
    result = []
    for i in range(1,n-1):
        a = m // math.factorial(n-i) #商
        #b = m % math.factorial(n-i)  #余数
        result.append(l[a])
        l.remove(l[a])
    if m % 2 == 1:
        result.extend([l[1], l[0]])
    else:
        result.extend(l)
    return result
    
#print(permutation(3, 0)) #[1, 2, 3]

for j in range(1, math.factorial(3)+1):
    print(f"m={j}, 对应的排列为:{permutation(3, j-1)}")
INFO