holyya.com
2025-09-04 20:11:21 Thursday
登录
文章检索 我的文章 写文章
C++实现斐波那契数列代码
2023-07-09 11:35:48 深夜i     --     --
C++ 实现 斐波那契数列 代码

斐波那契数列是指:0、1、1、2、3、5、8、13、21、34…….在数学上,它以递归的方式定义:F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2)(n≧2,n∈N*)

在C++中实现斐波那契数列可以使用循环或者递归方法。下面分别介绍两种方法的代码实现。

一、循环方法

循环方法通过循环计算将每个斐波那契数列的数计算出来。其中,设置变量来记录前两个数和当前斐波那契数列的数。


#include<iostream>

using namespace std;

int main() {

  int n;

  cout << "请输入斐波那契数列的项数:";

  cin >> n;

  if(n <= 0)

    cout << "输入的数据有误

  int f1 = 0, f2 = 1, fn = 0;

  cout << "斐波那契数列的前" << n << "项为:" << endl;

  for(int i = 1; i <= n; ++i) {

    if(i <= 2)

      fn = i - 1;

     else {

      fn = f1 + f2;

      f1 = f2, f2 = fn;

    }

    cout << fn << " ";

  }

  return 0;

}

上述代码实现了通过循环计算斐波那契数列的方法。其中,输入项数n,判断n是否大于0,然后通过for循环计算斐波那契数列,并输出前n项的值。

二、递归方法

递归方法通过设置递归函数来计算斐波那契数列,并调用递归函数实现计算。在该方法中,设定初始值 f(0) = 0, f(1) = 1, f(2) = 1。


#include<iostream>

using namespace std;

// 使用递归的方法计算斐波那契数列

int Fibonacci(int n) {

  if(n == 0)

    return 0;

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

    return 1;

  

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

}

int main() {

  int n;

  cout << "请输入斐波那契数列的项数:";

  cin >> n;

  if(n <= 0) 斐波那契数列的项数必须大于0!" << endl;

    return 0;

  

  cout << "斐波那契数列的前" << n << "项为:" << endl;

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

    cout << Fibonacci(i) << " ";

  }

  return 0;

}

上述代码实现了通过递归计算斐波那契数列的方法。其中,输入项数n,判断n是否大于0,然后通过for循环调用递归函数计算斐波那契数列,并输出前n项的值。

综上,以上两种方法都可以实现斐波那契数列的计算,通过不同的思路来解决问题。以上两个版本的斐波那契数列代码也为初学者提供了良好的学习参考。

  
  

评论区

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