C++斐波纳契数列

广告位

C++中的斐波纳契系数实现:在斐波纳契系列的情况下,下一个数字是前两个数字的总和,例如:0,1,1,2,3,5…

C++中的斐波纳契系数实现:在斐波纳契系列的情况下,下一个数字是前两个数字的总和,例如:0,1,1,2,3,5,8,13,21等。斐波那契数列的前两个数字是:01

有两种方法来写斐波那契数列程序:

  • 不使用递归实现斐波那契数列
  • 使用递归实现斐波那契数列

不使用递归实现斐波那契数列

下面来看看看不使用递归在C++中实现斐波那契数列(fibonacci)程序。

#include <iostream>    using namespace std;    int main() {        int n1=0,n2=1,n3,i,number;          cout<<"Enter the number of elements: ";          cin>>number;          cout<<n1<<" "<<n2<<" "; //printing 0 and 1        //loop starts from 2 because 0 and 1 are already printed          for(i=2;i<number;++i)       {              n3=n1+n2;              cout<<n3<<" ";              n1=n2;              n2=n3;          }          return 0;    }  

执行上面代码,得到以下结果 –

Enter the number of elements: 10  0 1 1 2 3 5 8 13 21 34  

在C++中使用递归实现斐波那契数列

下面来看看看使用递归在C++中的斐波那契(fibonacci)数列程序。

#include<iostream>      using namespace std;        void printFibonacci(int n){          static int n1=0, n2=1, n3;          if(n>0){               n3 = n1 + n2;               n1 = n2;               n2 = n3;               cout<<n3<<" ";               printFibonacci(n-1);          }      }      int main(){          int n;          cout<<"Enter the number of elements: ";          cin>>n;          cout<<"Fibonacci Series: ";          cout<<"0 "<<"1 ";        printFibonacci(n-2);  //n-2 because 2 numbers are already printed           return 0;    }  

执行上面代码得到以下结果 –

Enter the number of elements: 15   Fibonacci Series: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377  

  

拾荒的老头

关于作者: 拾荒的老头

为您推荐

广告位

发表评论