21xrx.com
2024-11-05 19:01:22 Tuesday
登录
文章检索 我的文章 写文章
C++ 求解斐波那契数列前 40 项
2023-06-22 07:29:24 深夜i     --     --
C++ 斐波那契数列 计算 前40项 求解

斐波那契数列(Fibonacci sequence),又称黄金分割数列,是指这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列是以递归的方式定义的。

在C++中,可以使用循环或递归的方式求解斐波那契数列前40项。以下是两种实现方法:

方法一:循环实现


#include<iostream>

using namespace std;

int main()

{

  int fib[40] = 1; //数组初始化

  for(int i=2;i<40;i++)

  {

    fib[i] = fib[i-1] + fib[i-2]; //计算斐波那契数列第i项

  }

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

  {

    cout<<fib[i]<<" "; //输出斐波那契数列前40项

  }

  return 0;

}

方法二:递归实现


#include<iostream>

using namespace std;

int Fib(int n)

{

  if(n==1 || n==2)

    return 1;

  else

    return Fib(n-1) + Fib(n-2); //递归调用Fib函数

}

int main()

{

  for(int i=1;i<=40;i++)

  {

    cout<<Fib(i)<<" "; //输出斐波那契数列前40项

  }

  return 0;

}

以上两种方法均可以求解斐波那契数列前40项,并且时间复杂度相同。但是递归实现存在着运行速度较慢、占用空间较大等问题,在实际应用中一般使用循环实现。

  
  

评论区

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