蓝桥杯基础练习VIP-分解质因数 题目描述 求出区间[a,b]中所有整数的质因数分解。 提示 出所有素数,然后再分解。 输入 输入两个整数a,b。 2< =a< =b< =10000 输出 每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大的)(具体可看样例) 3 10 代码如下: n,m=[int(i) for i in input().split()] l=[int(i) for i in range(n,m+1)] list=[] list_su=[] def su(n): #判断是否为素数 if n==1 or n==2: return True for i in range(2,n): if n%i==0 : return False return True def qie(n,list,l2): for i in list: if n%i==0: l2.append(i) n=n//i if n==1: #所有素数都在列表中,除完之后的结果必定为1,若不为1则没有除完,继续进行函数 l2.sort() l2=[str(i) for i in l2] return l2 else: return qie(n,list_su,l2) #此处若没有return而直接调用函数,则会返回第一个函数的返回值,第一个函数并不是通过return结束,即没有返回值,便会返回none 详情可查看(1条消息) python中return无返回值详解_啥也不是的py人的博客-CSDN博客_python中return没有返回值 for i in range(2,m+1): if su(i): list_su.append(i) for i in l: if i in list_su or i==1: print("{0}={0}".format(i)) else: print(str(i) + "=",end="") print("*".join(qie(i, list_su,[])))