C++ 斐波那契数列
C++中的斐波那契数列: 在斐波那契数列中,下一个数字是前两个数字的和,例如0、1、1、2、3、5、8、13、21等等。斐波那契数列的前两个数字是0和1。
有两种方法可以编写斐波那契数列的程序:
- 不使用递归的斐波那契数列
- 使用递归的斐波那契数列
不使用递归的C++斐波那契数列
让我们看看不使用递归的C++斐波那契数列程序。
#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  
 for(i=2;i<number;++i) //loop starts from 2 because 0 and 1 are already printed  
 {  
  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++中实现Fibonnaci序列
让我们来看看在C++中使用递归实现的Fibonnaci序列程序。
#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
 极客笔记
极客笔记