21xrx.com
2024-12-27 22:53:06 Friday
登录
文章检索 我的文章 写文章
C++求解斐波那契数列前20项
2023-07-08 04:04:48 深夜i     --     --
C++ 求解 斐波那契数列 前20项

斐波那契数列是一种具有特殊数学规律的数列,它的前两项为0、1,从第三项开始,每一项都等于前两项的和。斐波那契数列的数学公式如下:

F(0)=0,F(1)=1

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

在C++中,可以通过递归或循环方式求解斐波那契数列前20项。下面分别介绍这两种方式的实现方法。

递归方式:

递归方式是一种简单易懂的方式,但其效率较低,随着n值的增大会出现栈溢出等问题。

示例代码如下:


#include<iostream>

using namespace std;

int Fib(int n)

{

  if(n<=1)

    return n;

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

}

int main()

{

  for(int i=0;i<20;i++)

  {

    cout<<Fib(i)<<" ";

  }

  return 0;

}

循环方式:

循环方式采用循环结构在每一次迭代中计算F(n),每次记录F(n-1)和F(n-2)。

示例代码如下:


#include<iostream>

using namespace std;

int main()

{

  int n=20,fib1=1,fib2=0;

  for(int i=0;i<n;i++)

  {

    cout<<fib2<<" ";

    int temp=fib1;

    fib1+=fib2;

    fib2=temp;

  }

  return 0;

}

通过以上两种方式可以求解斐波那契数列前20项,其中循环方式的效率要高于递归方式。当然,对于更大的n值,需要使用更加高效的算法来进行求解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复