21xrx.com
2025-03-24 07:02:20 Monday
文章检索 我的文章 写文章
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项,并且时间复杂度相同。但是递归实现存在着运行速度较慢、占用空间较大等问题,在实际应用中一般使用循环实现。

  
  

评论区