今天在课堂上讨论了递归和堆栈溢出这个有趣的话题,我想知道是否有办法提高Python中的最大递归深度?我编写了一个使用递归查找n的阶乘的快速函数:
def factorial(n):
if n == 1:
return n
else:
return n * factorial(n-1)
它可以处理因子(994),但无法处理因子(995)。报错信息如下:
RuntimeError: maximum recursion depth exceeded in comparison
显然可以通过迭代找到更高的阶乘,但是为了争论和探究,递归的最大深度是否可以增加呢?