python中的尾部结束与前向因子

时间:2015-10-01 04:24:02

标签: python algorithm recursion tail-recursion factorial

我有一些递归的句柄。 递归函数是一个调用自身运行的函数,有点像循环。但是,我遇到了尾端和前向递归的问题。

根据我的理解,尾端会进行计算,而前进则会在"递归循环结束时执行。" 我必须制作一个2阶乘函数,如果我能得到一些关于我是否在正确的道路上的输入,我就会徘徊。感谢

def tailfactorial(n,counter):
    if counter == 0:
        return n    
    else:
        return tailfactorial(n * counter ,counter-1)
print(tailfactorial(6,5))
#tailfactorial(6,5)
#tailfactorial(30,4)
#tailfactorial(120,3)
#tailfactorial(360,2)
#tailfactorial(720,1)
#tailfactorial(720,0)
#720

def factorialforward(n):
    if n==0:
        return 1
    else:
        return n * factorialforward(n-1)
print(factorialforward(6))
#factorialforward(6)
#6 * factorialforward(5)
#6 * 5 * factorialforward(4)
#6 * 5 * 4 * factorialforward(3)
#6 * 5 * 4 * 3 * factorialforward(2)
#6 * 5 * 4 * 3 * 2 * factorialforward(1)
#6 * 5 * 4 * 3 * 2 * 1 * factorialforward(0)
#6 * 5 * 4 * 3 * 2 * 1 * 1 = 720

0 个答案:

没有答案