def fact(n,product=1):
if n == 1 :
return product
return fact(n-1,n * product)
看了上面廖老师举例的尾递归函数,不明白为什么要定义两个fact 和 fact_iter,于是自己写了个fact函数,但由于Python不能优化尾递归函数,所以不能同通过测试fact(1000) 的方法判定我这个是不是尾递归函数。
所以想问一下大佬们:①我这个是不是尾递归?
②如果是的话和上面老师的尾递归函数是不是等价的?
Sign in to make a reply
北极小白熊2
def fact(n,product=1):
if n == 1 :
return product
return fact(n-1,n * product)
看了上面廖老师举例的尾递归函数,不明白为什么要定义两个fact 和 fact_iter,于是自己写了个fact函数,但由于Python不能优化尾递归函数,所以不能同通过测试fact(1000) 的方法判定我这个是不是尾递归函数。
所以想问一下大佬们:①我这个是不是尾递归?
②如果是的话和上面老师的尾递归函数是不是等价的?