点击链接PTA-Python-AC全解汇总
题目:
输入整数n(3<=n<=7),编写程序输出1,2,...,n
整数的全排列,按字典序输出。
输入格式:
一行输入正整数n。
输出格式:
按字典序输出1到n的全排列。每种排列占一行,数字间无空格。
输入样例:
在这里给出一组输入。例如:
3
- 1
输出样例:
在这里给出相应的输出。例如:
123
132
213
231
312
321
- 1
- 2
- 3
- 4
- 5
- 6
我的思路:
借用递归的想法,循环提取每位的数
不用暴力求解
我的代码:
def f(string,x):
if x not in string:
string+=x
if len(string)<n:
for x in num:
f(string,x)
else:
res.append(string)
n=int(input())
num=[str(x) for x in range(1,n+1)]
res=[]
for x in num:
f("",x)
print(*res,sep="\n")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
评论记录:
回复评论: