C语言编程:写出斐波那契数列的前40个数

求高手帮帮忙吧~~... 求高手帮帮忙吧~~ 展开
 我来答
百度网友ca560fe
2019-10-31 · TA获得超过2.3万个赞
知道答主
回答量:70
采纳率:100%
帮助的人:2.8万
展开全部

#include <stdio.h>

 int main()

{

int f1 = 1;

int f2 = 1;

int f3,i;

printf("%d\t%d\t",f1,f2);

for(i = 1; i <= 38; i++)

{

f3 = f1 + f2;

printf("%d\t",f3);

f1= f2;

f2= f3;

}

printf("\n");

return 0;

}

扩展资料:

在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

递推公式

斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2)

显然这是一个线性递推数列。

平方与前后项

从第二项开始,每个偶数项的平方都比前后两项之积少1,每个奇数项的平方都比前后两项之积多1。

湛蓝水晶
推荐于2016-05-18 · 知道合伙人数码行家
湛蓝水晶
知道合伙人数码行家
采纳数:1388 获赞数:9351
毕业北京科技大学数学与应用数学专业,学士学位,IT行业6年从业经验。现任公司项目经理。

向TA提问 私信TA
展开全部
一楼的递归太多,栈溢出了。
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生锅糖0K
2006-07-23 · 超过20用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:0
展开全部
#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));
}
}

下面的请不要没有依据就乱说,先运行再说!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
roofyao
2006-07-23
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
呵呵,抱歉,没有留意到其实没有溢出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daiben110
2006-07-22 · 超过28用户采纳过TA的回答
知道答主
回答量:240
采纳率:0%
帮助的人:0
展开全部
楼上的程序看到我头疼!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式