21xrx.com
2024-12-23 00:20:31 Monday
登录
文章检索 我的文章 写文章
C++实现斐波那契数列
2023-07-08 22:51:28 深夜i     --     --
C++ 实现 斐波那契数列

斐波那契数列是一个非常经典的数列,它的前两个数是 0 和 1,从第三个数开始,每个数都是前两个数的和。例如,斐波那契数列的前几个数是 0、1、1、2、3、5、8、13、。。。等等。

在 C++ 编程中,实现斐波那契数列很简单,只需要使用循环结构或者递归函数即可。下面我们针对这两种方法进行介绍。

一、循环结构实现斐波那契数列

循环结构是一种比较基础的编程方法,它的思路是根据规律从前往后计算,直到计算到目标数。在实现斐波那契数列时,我们可以使用 for 循环语句,具体代码如下:


#include<iostream>

using namespace std;

int main()

{

  int a = 0, b = 1, sum = 0, n;

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

  cin >> n;

  cout << a << " " << b << " ";

  for (int i = 3; i <= n; i++)

  {

    sum = a + b;

    cout << sum << " ";

    a = b;

    b = sum;

  }

  cout << endl;

  return 0;

}

以上代码中,我们设置了三个变量 a、b 和 sum,其中 a 和 b 分别代表前两个数,sum 代表当前计算的第 i 个数。我们输入一个整数 n,然后使用 for 循环从第三个数开始计算,循环次数为 n-2。在计算 sum 时,需要将 a 和 b 的值相加,并将结果赋值给 sum。然后将 b 的值赋给 a,将 sum 的值赋给 b,这样就可以继续计算下一个数。最终,我们将计算结果输出到屏幕上。

二、递归函数实现斐波那契数列

递归函数是一种自调用的函数,在函数内部可以调用自己来实现循环的效果。在斐波那契数列中,我们可以使用递归函数来实现同样的效果。具体代码如下:


#include<iostream>

using namespace std;

int fib(int n)

{

  if (n == 0 || n == 1)

    return n;

  else

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

}

int main()

{

  int n;

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

  cin >> n;

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

    cout << fib(i) << " ";

  cout << endl;

  return 0;

}

以上代码中,我们使用了一个函数 fib(int n),这个函数的作用是计算斐波那契数列的第 n 项。我们在函数内部使用了 if 判断语句,当 n 的值为 0 或 1 时,直接返回 n 的值;否则,递归调用 fib(n - 1) 和 fib(n - 2),最终得到 f(n) = f(n - 1) + f(n - 2) 的结果。在主函数中,我们输入一个整数 n,然后循环调用 fib(int i),将结果输出到屏幕上。

总的来说,C++ 实现斐波那契数列非常简单,只需要使用循环结构或递归函数即可。无论使用哪种方法,都需要注意边界条件的处理和变量的定义与赋值。希望本文对 C++ 初学者有所帮助。

  
  

评论区

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