21xrx.com
2025-03-28 01:05:26 Friday
文章检索 我的文章 写文章
C++编写斐波那契数列
2023-07-08 07:01:27 深夜i     53     0
C++ 编写 斐波那契数列 算法 循环结构

斐波那契数列是一系列由 0 和 1 开始,后面每一项都是前两项之和的数列。例如: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144……

在使用C++语言来编写斐波那契数列时,我们可以使用循环或递归的方式来实现。

一、循环实现

循环实现的方法较为简单,只需要用到两个变量 f1 和 f2 来存储序列中的前两个数,然后使用循环结构打印出后续项即可。具体代码如下:

#include<iostream>
using namespace std;
int main()
{
  int f1=0,f2=1,f3,n;
  cout<<"输入斐波那契数的项数:";
  cin>>n;
  cout<<"斐波那契数列为:"<<endl;
  cout<<f1<<" "<<f2<<" ";
  for(int i=1;i<n;++i)
  {
    f3=f1+f2;
    f1=f2;
    f2=f3;
    cout<<f3<<" ";
  }
  return 0;
}

二、递归实现

递归实现的方法较为复杂,需要用到递归函数来计算斐波那契数列。递归函数就是一个函数自己调用自己,直到终止条件满足。在本例中,递归函数需要传入一个整数 n ,代表要计算数列的第 n 项。如果 n=1 或 n=2,则返回 1 ;否则,返回计算斐波那契数列第 n-1 项和第 n-2 项之和的值。具体代码如下:

#include<iostream>
using namespace std;
int Fibonacci(int n)
{
  if(n==1 || n==2) // 前两项都为 1
  
    return 1;
  
  return Fibonacci(n-1)+Fibonacci(n-2);
}
int main()
{
  int n,result;
  cout<<"请输入要计算的斐波那契数的项数:";
  cin>>n;
  result=Fibonacci(n);
  cout<<"第 "<<n<<" 项的值为:"<<result<<endl;
  return 0;
}

无论是循环实现还是递归实现,C++编写斐波那契数列都不难实现。而斐波那契数列也有很多实际应用,比如自然界中的螺旋生长规律、金融领域中的股票走势分析等都离不开斐波那契数列。掌握其实现方法有利于更好地理解其应用场景。

  
  

评论区

请求出错了