Discuss / Python / 尾递归

尾递归

Topic source

使用尾递归之后,调用 fact(1000) 还是出现 栈的溢出呢?

def fact(n):

    return fact_iter(n, 1)

def fact_iter(num, product):

    if num == 1:

        return product

    return fact_iter(num - 1, num * product)

print(fact(1000))

lu学习

#2 Created at ... [Delete] [Delete and Lock User]

python的解释器没有做优化,所以递归函数的栈溢出问题没有得到解决


  • 1

Reply