目录

  • 输出整数的全排列
  • 1、程序简介
  • 要求:
  • 输入样例:
  • 例1
  • 例2
  • 2、程序代码
  • 3、运行结果(如下图)



输出整数的全排列

1、程序简介

要求:

输入整数n(3<=n<=7),编写程序输出1,2,…,n整数的全排列,按字典序输出。


输入样例:

例1

输入: 3

输出:

123 132 213 231

312 321

结果如图:

python头哥输出N以内所所有素数 用python输出1到n整数_全排列


例2

输入: 4

输出:

1234 1243 1324 1342

1423 1432 2134 2143

2314 2341 2413 2431

3124 3142 3214 3241

3412 3421 4123 4132

4213 4231 4312 4321

结果如图:

python头哥输出N以内所所有素数 用python输出1到n整数_程序代码_02


2、程序代码

# -*- coding: utf-8 -*-
"""
Created on Sun Nov 28 09:25:18 2021
Function: 输出整数的全排列
@author: 小梁aixj
"""
import random
count=0
n = int(input('输入整数n(3<=n<=7):'))
t = list()
t1 = set()
for i in range(1, n+1):
    t.append(str(i))
while True:
    sum = 1
    for i in range(1, n + 1):
        sum *= i
    if len(t1) >= sum:
        break
    random.shuffle(t)
    t1.add(''.join(t))
s = sorted(t1)
for i in s:
    print(i,end = ' ')
    count = count+1
    if count%4 == 0:
        print()

3、运行结果(如下图)

python头哥输出N以内所所有素数 用python输出1到n整数_python_03