Python 递归实现斐波那契数列 - 第n项
使用递归函数计算斐波那契数列的第n项
定义: 斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34…,第一项和第二项为1,从第三项开始,每一项都是前两项之和。
解题思路: 根据斐波那契数列的定义,第n项可以表示为前两项的和,即F(n) = F(n-1) + F(n-2)。同时,第一项和第二项都为1,因此可以设置递归的终止条件为n=1或n=2,直接返回1。其他情况则递归调用函数计算前两项的和。
Python代码:
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试用例
print(fibonacci(6)) # 输出 8
代码解释:
fibonacci(n)函数接受一个整数 n 作为参数,表示要计算的斐波那契数列的第 n 项。- 递归终止条件:当 n 等于 1 或 2 时,直接返回 1。
- 递归调用:当 n 大于 2 时,递归调用
fibonacci(n-1)和fibonacci(n-2)函数,并将它们的返回值相加,得到第 n 项的值。
注意: 递归函数在计算斐波那契数列时,存在重复计算的问题,效率较低。在实际应用中,更推荐使用循环或动态规划来计算斐波那契数列。
原文地址: https://www.cveoy.top/t/topic/n3sY 著作权归作者所有。请勿转载和采集!