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)}')

代码解释:

  1. fibonacci(n) 函数接受一个整数 n 作为参数,代表需要计算的斐波那契数列的第 n 项。
  2. 当 n 等于 1 或 2 时,函数直接返回 1,因为这是斐波那契数列的前两项。
  3. 否则,函数递归调用自身,分别计算第 n-1 项和第 n-2 项的值,并将它们相加返回。

使用示例:

输入:

6

输出:

第 6 项的值为:8

注意: 递归函数虽然简洁,但在处理较大的 n 时会效率低下,因为存在大量的重复计算。对于效率要求较高的应用,建议使用迭代方法来实现斐波那契数列的计算。

Python 递归实现斐波那契数列 - 第n项求解

原文地址: https://www.cveoy.top/t/topic/n3sq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录