补全Python实现1~n全排列枚举及总数统计的代码

ay407157 程序题 共 个子题

题目要求

设计算法枚举1~n的所有排列,输入1~n的第一个排列(如1 2 3),按从小到大输出所有排列,并统计排列总数,补全下列代码。

函数说明

函数名:perm(n, begin, end) 参数表:

  • n:存储排列的整数列表
  • begin:排列当前处理位置的起始索引
  • end:排列最后一个元素的索引

返回值:无返回值,逐行输出1~n的所有排列。

输入输出示例

输入:1 2 3 输出:

[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 2, 1]
[3, 1, 2]
排列总数是:6个!

待补全代码

COUNT = 0
def perm(n, begin, end):
    global COUNT
    if ①:
        print(n)
        COUNT += 1
    else:
        i = begin
        for num in ②:
            n[num], n[i] = n[i], n[num]
            ③
            n[num], n[i] = n[i], n[num]

arr = input("1-n的第1个排列:")
n = [int(n) for n in arr.split()]
④
print("排列总数是:%d个!" % COUNT)

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧