Python 版本 2.7.6
我编写了一个迭代函数来计算特定阶乘预期的尾随零的数量。然后我尝试将其重写为递归函数。 这是递归的结果:
def f_FactorialTailZeros(v_Num, v_Result = 0):
if v_Num < 5:
return v_Num
v_Result = v_Result + f_FactorialTailZeros(v_Num // 5, v_Num // 5)
return v_Result
print(f_FactorialTailZeros(30)) ## 7
print(f_FactorialTailZeros(70)) ## 16
它有效,但是,为了学习,有没有更好的方法?
请您参考如下方法:
根据您的代码:
def f_FactorialTailZeros(v_Num):
if v_Num < 5:
return 0
return v_Num // 5 + f_FactorialTailZeros(v_Num // 5)
