-2
我试图在不使用循环的情况下产生数字的所有素因子的总和。但是,如果prime_factor(M,K)大于2的结果是,当进入主(N)之后因数= prime_factor(M,K),因素将是无Python找到没有循环的素因子总和
def prime_factor(m, k):
if m%k==0:
return k
else:
prime_factor(m, k+1)
def main(n):
if n<2:
return 0
if n==2:
return n
else:
factor=prime_factor(n, 2)
return factor+main(n//factor)
只需返回递归调用... – Li357