数的分解
给出一个正整数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)
程序运行结果如下:
1 3 2 4