斐波那契数列是一个整数数列,其特点是数列的前两项都是 1,每一项都是前两项之和。
可以使用递归的方法来实现对斐波那契数列某一项的求解。
def fibonacci(n):
if n == 0 or n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
num = int(input("请输入一个正整数: "))
print("第 %d 项斐波那契数是 %d " % (num, fibonacci(num)))
![](https://img-blog.csdnimg.cn/img_convert/67c74073c7133cfb4bbc79726882edcc.png)
上面代码中, 首先使用 int(input()) 函数读取用户输入的正整数, 然后在函数中使用递归的方式实现求解. 首先判断n是否为 0 或 1,如果是,直接返回 1 ; 否则,调用自身函数求解f(n-1) + f(n-2) 最后输出第 n 项斐波那契数是多少。
这样就能得到第n项斐波那契数了,但是递归的复杂度是O(2^n),如果 n 较大的时候效率会比较低,所以可以使用循环方式来实现复杂度为O(n)。