| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 943 人关注过本帖
标题:Fibonacci数列问题
只看楼主 加入收藏
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
结帖率:94.74%
收藏
已结贴  问题点数:2 回复次数:8 
Fibonacci数列问题
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
F(n)=1 ...........(n=1或n=2)
F(n)=F(n-1)+F(n-2).....(n>2)
现要你来求第n个斐波纳奇数。(第1个、第二个都为1)

**************************
***************************
#include <stdio.h>
int main()
{
  int a,b,c,n,m;
  scanf("%d",&m);
  while(m--)         //有M组数可以输入
  {
    scanf("%d",&n);
    if(n==1)
        c=1;
    a=0;
    b=1;
    if(n>=2)
    {
     c=a+b;
     a=b;
     b=c;
     n--;
    }
    printf("%d",c);
    printf("\n");
  }
  return 0;
}
假设输入2(表示有两组次数可以输入)
第一组输入3,结果却显示1而不是2,为什么???????????

搜索更多相关主题的帖子: include 
2011-11-23 11:07
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:1 
你先看下递归是怎么回事吧
程序代码:
#include<stdio.h>
long fun(int g)
{
    if(g==1||g==2)
        return 1;
    else
        return (fun(g-1)+fun(g-2));
}

main()
{
    long fib;int n,m;
    scanf("%d",&m);
    while(m--)
    {
        scanf("%d",&n);
        fib=fun(n);
        printf("%4d\n",fib);
    }
   getch();
}
2011-11-23 11:58
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
斐波那契数列有个logn的算法你想不想知道

                                         
===========深入<----------------->浅出============
2011-11-23 16:43
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
回复 3楼 laoyang103
我想知道

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-23 16:54
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:1 
    if(n>=2)这行改成while (n >= 2)就行了,不然只计算一次输出的值当然不对了

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-23 16:58
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 

                                         
===========深入<----------------->浅出============
2011-11-23 17:40
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
回复 6楼 laoyang103
曾经见过那式子,看了代码有点失望,我以为是给出的是第n个的fibonacci数,原来只是对10000的余数,这样数据规模小了很多

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-23 20:24
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
确实是这样  到了大数项之后数据将会是你想象不到的大 大数结构也无法存开

如果非要去写 那只能科学计数法了  我估计写不出来

                                         
===========深入<----------------->浅出============
2011-11-24 11:02
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
数据规模再大只能用数组存了,但是数组怎么样也有极限,太大的话计算速度就跟不上了。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-24 15:22
快速回复:Fibonacci数列问题
数据加载中...
 
   



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

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