21xrx.com
2024-12-22 22:39:47 Sunday
登录
文章检索 我的文章 写文章
C++编写斐波那契数列
2023-07-08 07:01:27 深夜i     --     --
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++编写斐波那契数列都不难实现。而斐波那契数列也有很多实际应用,比如自然界中的螺旋生长规律、金融领域中的股票走势分析等都离不开斐波那契数列。掌握其实现方法有利于更好地理解其应用场景。

  
  

评论区

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