频道栏目
首页 > 程序开发 > 软件开发 > C++ > 正文
C++输出斐波那契数列的几种方法
2013-06-24 08:14:45      个评论      
收藏   我要投稿

定义:

斐波那契数列指的是这样一个数列: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;
}

 

点击复制链接 与好友分享!回本站首页
上一篇:BZOJ 1934([Shoi2007]Vote 善意的投票-最小割)
下一篇:poj 2778 DNA Sequence
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站