永发信息网

用递归方法求斐波那契数列的2,2,4,6,10,16,26,42,68,110······的第10项

答案:2  悬赏:40  手机版
解决时间 2021-01-28 08:18
用递归方法求斐波那契数列的2,2,4,6,10,16,26,42,68,110······的第10项
最佳答案
#include "stdio.h"
int fib(unsigned int n);
int main()
{
int m=10;
int result =0;
result = fib(10);
printf("fib(%d)=%d",m,result);
return 0;
}
int fib(unsigned int n)
{
if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2);
}
没写注释,其实难理解的也就是return fib(n-1)+fib(n-2);这一句,还有就是,递归调用看起来高端,其实效率低下,函数的执行在栈里面越调用越耗内存,不信你求个fib(2000),我可不敢把这函数在电脑里跑。
全部回答
方法1:
#include "stdio.h"
int fbnq(int d1,int d2,int n)
{
int k;
if(n>3)
{
printf("%d,",d2);
return fbnq(d2,d1+d2,n-1);
}
else
{
printf("%d,",d2);
return d1+d2;
}
}
int main()
{
int d1,d2,n;
d1=2;d2=2;n=10;

printf("%d,",d1);
printf("%d",fbnq(d1,d2,10));
}
方法2:
#include "stdio.h"
int fbnq(int d[],int n)
{
int k;
if(n>3)
{
printf("%d,",d[0]+d[1]);
d[1]=d[0]+d[1];d[0]=d[1]-d[0];
return fbnq(d,n-1);
}
else
return d[0]+d[1];
}
int main()
{
int d[2],n;
d[0]=2;d[1]=2;n=10;

printf("%d,%d,",d[0],d[1]);
printf("%d",fbnq(d,10));
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
8090汽贸地址在什么地方,想过去办事
急急急~~~~小黄人手机铃声 iphone版的m4r格式
苹果手机为什么点击qq进去就黑屏了是什么原因
外部言语包括()等几种形式。A.对话言语B.非交
黑色痘印痘疤怎么消除
中国福利彩票36选7第4034开奖结果
佛山岭南明珠羽毛球馆星期日白天收费
把小镜子这样放在床头有事吗?如下图
东盛汽车贸易有限公司(鲤城园滨西路药监局旁)
虔心的意思是什么啊?知道的请说下!
商业银行信贷审查岗的职责包括()。A.表面真实
QQ空间里的人气值在哪里显示呀,最好发个图让
女性,23岁。与男友回家途中遭遇车祸,双双被
言中事隐的意思是什么啊?知道的请说下!
C盘在不重新分区和删除别的盘文件的条件下可
推荐资讯
小米盒子好还是天猫魔盒好呢?
5岁患儿。胸骨左缘第2肋间触及连续性震颤。该
我是农村当兵三年一直都在长春市二面粉厂当装
现在值得为了玩战神和神秘海域买PS3吗
木乃伊长什么样子视频
以下哪两位演员是中戏96级的同班同学?
琅琊榜靖王最后知道林殊身份了吗 第几集怎么
为什么“高一优秀的同学”不能构成一个集合
谁能告诉我一些中国古代奇珍异宝或宝物?比如
颈椎病犯了,躺着好还是起来活动的好
想问下诛仙3青云如何冲级,3年没玩诛仙了,上
住院费用1100元新农合报销260元商业保险的住
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?