任意一个大于1的整数,都可以分解为若干质数的积,如24=2*2*2*3,那么该如何用Python实现呢
def decomposition(n):
factor=[]
for i in range(2,n+1):
while n%i==0:
factor.append(i)
n//=i
if n==1:
break
return factor
先新建一个factor列表,然后从2开始遍历到n,如24则从2遍历到24
然后就是直到n无法被i整除时跳出内层循环,同时在每次内层循环执行时更新n的值
当n==1时,意味着以及分解完成