输入整数n,编写程序输出1,2,...,n
整数的全排列,按字典序输出。
输入格式:
输入一个正整数n。
输出格式:
按字典序输出1到n的全排列。每种排列占一行,数字间无空格。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
123
132
213
231
312
321
#全排列:建立子列表
#定义排列函数
def Permutations (n,buffer,l,result,cou):
#保存数据判断
if cou == n:
result.append(buffer)
return
#递归排列
for i in range(len(l)):
x = l[i]
next_buffer = buffer + str(x)
#子列表建立(列表的传递是指针传递,不能直接 ’=‘
next_l = l[:i] + l[i + 1:]
Permutations(n, next_buffer, next_l, result, cou + 1)
n = int(input())
#所需列表生成
List = [int(x) for x in range(1,n+1)]
#结果声明
result = []
#定义缓存
buffer = ''
#定义计数器
cou = 0
#调用函数
Permutations(n,buffer,List,result,cou)