# Ruby语法
def fib(n, a = 0, b = 1)
return a if n == 0
return b if n == 1
fib(n-1, b, a+b)
end
fib(1000) #执行并返回第1000位
# Python语法
def fib(n, a = 0, b = 1):
if n == 0:
return a
elif n == 1:
return b
else:
return fib(n-1, b, a+b)
fib(1000) #执行,此处一般会报错
#报错内容: RecursionError: maximum recursion depth exceeded in comparison
# python默认的最大递归深度是1000,当需要执行超过递归深度1000时需要修改
import sys
#将递归深度修改为10000
sys.setrecursionlimit(10000)
fib(1000) #执行并返回第1000位