程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++輸出斐波那契數列的幾種方法

C++輸出斐波那契數列的幾種方法

編輯:C++入門知識

定義:

斐波那契數列指的是這樣一個數列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
這個數列從第三項開始,每一項都等於前兩項之和。

以輸出斐波那契數列的前20項為例:


方法一:
比較標准的做法,是借助第三個變量實現的。

 

[cpp]
#include<iostream>    
using namespace std; 
int main(){ 
    int f1=0,f2=1,t,n=1; 
    cout<<"數列第1個:"<<f1<<endl; 
    cout<<"數列第2個:"<<f2<<endl;  
    for(n=3;n<=20;n++){ 
        t=f2; 
        f2=f1+f2; 
        f1=t; 
    cout<<"數列第"<<n<<"個:"<<f2<<endl;  
    }      
    cout<<endl; 
    return 0; 

#include<iostream> 
using namespace std;
int main(){
    int f1=0,f2=1,t,n=1;
    cout<<"數列第1個:"<<f1<<endl;
    cout<<"數列第2個:"<<f2<<endl;
    for(n=3;n<=20;n++){
        t=f2;
        f2=f1+f2;
        f1=t;
    cout<<"數列第"<<n<<"個:"<<f2<<endl;
    }    
    cout<<endl;
    return 0;
}

 

方法二:
這是樓主學習的時候自己想到的方法,可以通過兩次加分,一次循環輸出兩個項。


[cpp]
#include<iostream>    
using namespace std; 
int main(){ 
    int f1=0,f2=1,t,n=1; 
    cout<<"數列第一項:"<<f1<<endl; 
    cout<<"數列第二項:"<<f2<<endl;  
    for(n=2;n<10;n++){ 
        f1=f1+f2; 
    cout<<"數列第"<<(2*n-1)<<"項:"<<f1<<endl; 
    f2=f1+f2; 
    cout<<"數列第"<<(2*n)<<"項:"<<f2<<endl;  
    }     
    cout<<endl; 
    return 0; 

#include<iostream> 
using namespace std;
int main(){
    int f1=0,f2=1,t,n=1;
    cout<<"數列第一項:"<<f1<<endl;
    cout<<"數列第二項:"<<f2<<endl;
    for(n=2;n<10;n++){
     f1=f1+f2;
 cout<<"數列第"<<(2*n-1)<<"項:"<<f1<<endl;
 f2=f1+f2;
 cout<<"數列第"<<(2*n)<<"項:"<<f2<<endl;
    } 
 cout<<endl;
 return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved