| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9992 人关注过本帖
标题:C++输出Fibonacci数列前20项
只看楼主 加入收藏
拉C
Rank: 1
来 自:南方
等 级:新手上路
帖 子:55
专家分:1
注 册:2008-7-29
结帖率:72.73%
收藏
已结贴  问题点数:15 回复次数:3 
C++输出Fibonacci数列前20项
C++编写程序输出Fibonacci数列(前两项为1,以后每一项为前两项之和的数列)的前20项。
尽可能简单,希望能解释一下。
搜索更多相关主题的帖子: Fibonacci 输出 
2010-03-22 22:47
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:8 
#include<iostream>
using namespace std;
int main()
{
    int Fibonacci[20], i;
    Fibonacci[0] = Fibonacci[1] = 1;               //前两项为1
    for(i=2; i<20; i++)
        Fibonacci[i] = Fibonacci[i - 1] + Fibonacci[i - 2];          //在第三项后的每一项都等于前两项的和
    for(i=0; i<20; i++)
        cout<<Fibonacci[i]<<" ";                                //输出
    cout<<endl;
    return 0;
}
             我编译过了是对的,不过算法不是很好,还可以在改进一下,  这个不是我写的,有点忙,没有时间,你可以参考一下,这些东西自己慢慢想一下就知道怎么做了,我写个关于链表的操作都写了一个中午呢(呵呵只是为了找出一种最好的方法)。。

[ 本帖最后由 ltyjyufo 于 2010-3-24 18:34 编辑 ]

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-03-24 18:30
qq978429788
Rank: 2
等 级:论坛游民
帖 子:7
专家分:28
注 册:2010-2-26
收藏
得分:7 
#include <iostream.h>
int sum(int n);
int main()
{
    int n;
    cout<<"请输入你要求的第n个Fibonacci数:n="<<endl;
    cin>>n;
    cout<<"第n个Fibonacci数为:"<<sum(n)<<endl;
    return 0;
}
int sum(int n)
{
    if(n==1)
       return 1;
    else if(n==2)
       return 1;
    else
       return sum(n-1) + sum(n-2);
}
2010-03-25 19:30
拉C
Rank: 1
来 自:南方
等 级:新手上路
帖 子:55
专家分:1
注 册:2008-7-29
收藏
得分:0 
#include<iostream.h>
int main()
{
   int f1=1,f2=1,i,f3;
   cout<<f1<<endl;
   cout<<f2<<endl;
   for(i=3;i<=20;i++)
   {
      f3=f1+f2;
      cout<<f3<<endl;
      f1=f2;
      f2=f3;
      cout<<endl;
   }
   return 0;
}

新手新手,好好学习,多多指教,
2010-03-26 21:49
快速回复:C++输出Fibonacci数列前20项
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014013 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved