python 全排列 1~n
阿新 • • 發佈:2019-01-04
全排列是將1-n的一個排列看成一個數,然後按照字典的順序從小到達的輸出,
如1~5則是下面的一串:
1 2 3 4 5
1 2 3 5 4
1 2 4 3 5
1 2 4 5 3
1 2 5 3 4
4 5 2 1 3
4 5 2 3 1
4 5 3 1 2
4 5 3 2 1
5 1 2 3 4
5 1 2 4 3
5 1 3 2 4
5 1 3 4 2
原始碼:
def print_permutation(n,A,cur): if cur==n: for i in xrange(0,n): print A[i], print '' else: for i in xrange(1,n+1): ok=True for j in xrange(0,cur): if A[j]==i: ok=False break if ok: A[cur]=i print_permutation(n,A,cur+1) A=[0,0,0,0,0,0,0,0] cur=0 n=5 print_permutation(n,A,cur)