我有一些递归的句柄。 递归函数是一个调用自身运行的函数,有点像循环。但是,我遇到了尾端和前向递归的问题。
根据我的理解,尾端会进行计算,而前进则会在"递归循环结束时执行。" 我必须制作一个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