极地大乱斗 符文:C语言编程:写出斐波那契数列的前40个数

来源:百度文库 编辑:高校问答 时间:2024/05/06 10:23:30
求高手帮帮忙吧~~

一楼的递归太多,栈溢出了。
main()
{
long fib[40] = {1,1};
int i;
for(i=2;i<40;i++)
{
fib[i] = fib[i-1]+fib[i-2];
}
for(i=0;i<40;i++)
{
printf("F%d==%d\n", i, fib[i]);
}
return 0;
}
第40项的范围还在long内,不会溢出。
第40项的值为:102334155

#include<stdio.h>

int fun(int n)
{
if(n == 1 || n == 2) return 1;
else return fun(n-1) + fun(n-2);
}

void main()
{
int i;
for(i = 1; i <= 40; i++){
printf("%d\n", fun(i));
}
}

下面的请不要没有依据就乱说,先运行再说!

楼上的程序看到我头疼!

呵呵,抱歉,没有留意到其实没有溢出。