admin 管理员组

文章数量: 1086019


2024年3月13日发(作者:hbuilder影视源码)

斐波那契数列c++递归

斐波那契数列是一个非常经典的数列,它的定义如下:

F(0) = 0

F(1) = 1

F(n) = F(n-1) + F(n-2) (n>=2)

这个数列的前几个数是:

0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、

610、…

其中,每个数都是前两个数的和。

我们可以使用C++语言来递归计算斐波那契数列。

代码如下:

#include

using namespace std;

int Fibonacci(int n)

{

if(n == 0)

return 0;

if(n == 1)

return 1;

return Fibonacci(n-1) + Fibonacci(n-2);

}

int main()

{

int n;

cout << "请输入要计算的斐波那契数列的项数:";

cin >> n;

cout << "斐波那契数列的前" << n << "项为:";

for(int i=0; i

{

cout << Fibonacci(i) << " ";

}

cout << endl;

return 0;

}

在这个程序中,我们先通过键盘输入要计算的斐波那契数列的项

数n,然后使用for循环来逐一计算前n项斐波那契数列。具体而言,

我们定义了一个递归函数Fibonacci,它使用if语句判断边界条件。

当n为0或1时,它们的斐波那契数列对应的值分别为0和1。当n大

于等于2的时候,我们使用递归的方式来计算F(n)。由于递归的每层

调用都会调用F(n-1)和F(n-2),因此需要注意时间复杂度的问题。

总之,递归计算斐波那契数列是一种简单而优雅的解决方案,但

也需要注意边界条件和时间复杂度的问题。


本文标签: 使用 计算 递归 时间 边界条件