完善正整数分解为非递减正整数乘积的Python递归代码

ip999280 程序题 共 个子题

数的分解:给定一个正整数a,要求将其分解为若干个正整数的乘积,即a = a1 × a2 × a3 × ... × an,并且满足1 < a1 ≤ a2 ≤ a3 ≤ ... ≤ an,问这样的分解种类有多少。注意a = a本身也是一种合法分解。

例如,8可以分解为8=2*2*2、8=2*4、8=8,共3种。

需要完善以下Python代码中的划线部分:

def fun(x, y=2):
    if x == 1:
        global ans
        ①
    for i in range(y, x+1):
        if ②:
            fun(x//i, i)
lst = [2, 8, 9, 20] #测试数据
for i in lst:
    ans = 0
    ③
    print(ans)

程序运行的输出结果应为1324(对应每个测试用例的输出依次为1、3、2、4)。

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

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