📅  最后修改于: 2023-12-03 14:58:21.779000             🧑  作者: Mango
这是一个GATE CS 2021设置1的问题8。该问题要求实现一个递归函数,该函数返回斐波那契数列中第n项的值。
斐波那契数列是一个经典的数列,定义如下:
fib(0) = 0
fib(1) = 1
fib(n) = fib(n-1) + fib(n-2) for n > 1
实现函数 fib(n: int) -> int
,计算并返回斐波那契数列中第n项的值。
assert fib(0) == 0
assert fib(1) == 1
assert fib(10) == 55
斐波那契数列可以用递归的方式实现,如下:
def fib(n: int) -> int:
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
该函数的时间复杂度为O(2^n),空间复杂度为O(1)。
本篇文章介绍了斐波那契数列的递归实现,并提供了相关的代码片段,希望能帮助读者更好地理解和掌握递归算法。