代码中包含递归函数,运行时报错:
It works up to n=997
, then it just breaks and spits out a RecursionError: maximum recursion depth exceeded in comparison
.
这是Python防止堆栈溢出的警报。
可以通过以下代码来检查递归限制:
import sys
print(sys.getrecursionlimit())
也可以通过以下代码来改变递归上限:
# 将recursionlimit调至2000
sys.setrecursionlimit(2000)
但是这么做是不推荐的,Python不是一种功能语言,尾部递归并没有优化。
如果可以的话最好还是用迭代的方式重写这部分算法。