Python 递归实现斐波那契数列 - 第n项求解
Python 递归实现斐波那契数列 - 第n项求解
斐波那契数列是一个著名的数列,其定义如下:
- 第 1 项和第 2 项都为 1
- 从第 3 项开始,每一项都是前两项之和。
例如:1, 1, 2, 3, 5, 8, 13, 21, 34...
本文将使用 Python 递归函数来实现计算斐波那契数列的第 n 项。
递归函数实现
递归函数的思路是将问题分解成更小的子问题,直到遇到已知结果。对于斐波那契数列,我们可以将其分解为:
- 当 n = 1 或 n = 2 时,返回 1
- 否则,返回 fibonacci(n-1) + fibonacci(n-2)
Python 代码:
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 输入第 n 项
n = int(input('请输入第 n 项:'))
# 输出第 n 项的值
print(f'第 {n} 项的值为:{fibonacci(n)}')
代码解释:
fibonacci(n)函数接受一个整数 n 作为参数,代表需要计算的斐波那契数列的第 n 项。- 当 n 等于 1 或 2 时,函数直接返回 1,因为这是斐波那契数列的前两项。
- 否则,函数递归调用自身,分别计算第 n-1 项和第 n-2 项的值,并将它们相加返回。
使用示例:
输入:
6
输出:
第 6 项的值为:8
注意: 递归函数虽然简洁,但在处理较大的 n 时会效率低下,因为存在大量的重复计算。对于效率要求较高的应用,建议使用迭代方法来实现斐波那契数列的计算。
原文地址: https://www.cveoy.top/t/topic/n3sq 著作权归作者所有。请勿转载和采集!