标题:为什么不能输出Fibonacci数列的前50个数
取消只看楼主
A号痞子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-23
 问题点数:0 回复次数:5 
为什么不能输出Fibonacci数列的前50个数

我编了一个显示Fibonacci数列前N位数的程序,但是当N大于45就不行了,好象是溢了,请哪位大哥看看下问题出在哪。
程序如下:
#include "Stdio.h"
#include "Conio.h"

int main()
{ int i;
long f[40];
f[0]=1,f[1]=1;
for(i=2;i<40;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<40;i++)
{
if(i%5==0) printf("\n");
printf("%12ld",f[i]);
}
/* 此处添加你自己的代码 */
getch();
return 0;
}
这是显示前40位的代码,能成功,但是如果要输出前50个数,就会出现负数。

搜索更多相关主题的帖子: Fibonacci 输出 
2007-09-24 23:25
A号痞子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-23
得分:0 
不知道。32?

2007-09-25 00:15
A号痞子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-23
得分:0 
请问怎么改能输出前50个数?

2007-09-25 00:18
A号痞子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-23
得分:0 
long[int] 范围 -2147483648~2147483647
到50个数是真的溢出了,但怎么才能解决呢?

2007-09-25 00:29
A号痞子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-23
得分:0 
太感谢雨中飞燕了!!!
原来以为就是long 这个类型是最长的,

[此贴子已经被作者于2007-9-25 0:39:06编辑过]


2007-09-25 00:37
A号痞子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-23
得分:0 
呵呵,版主们都这么晚还没休息,
我刚学C语言,问的东西太弱智了。

这个回帖算是灌水吗?

2007-09-25 00:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-172638-1-1.html




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

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