瑞星卡卡安全论坛综合娱乐区Rising茶馆 一个C语言的直接递归的程序

12   1  /  2  页   跳转

[侃谈天下] 一个C语言的直接递归的程序

一个C语言的直接递归的程序

#include <stdio.h>
long fib(int n)
{if (n>2) return (fib(n-1)+fib(n-2));
else return (2);
}
main()
{
printf("%ld\n",fib(6));
}
答案是16,不过,我想问下,这个16是怎么做出来的?步骤能否详细的说明下?我实在想不出来。
(划红字的是主要的想不通的地方)。

用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
分享到:
gototop
 

回复:一个C语言的直接递归的程序

电脑盲路过,帮顶了.


gototop
 

回复:一个C语言的直接递归的程序

n    flb(n-1) + flb(n-2)      return
6    flb(5) + flb(4)              ?
5  flb (4) + flb (3)                ?
4    flb(3) + flb(2)                flb(3) + 2 #因为flb(2) = 2
3    flb(2) + flb (1)                2 + 2    # 所以依次计算

flb(3) = 4, flb(4) = flb (3) + flb (2) =  6, flb(5) = flb (4) + flb (3) = 6 + 4 = 10, flb( 6  ) = flb (5) + flb (4) = 10 + 6 = 16

?表示在当前那个步骤无法确定呢,因为结果依赖于下一个层次的计算,所以继续列表,但是由于程序里说了只要n不大于2了,都返回2,所以flb(2) flb (1)都能确定了就
最后编辑茶馆小二 最后编辑于 2010-05-28 10:40:50

娱乐区官方群——113762779,加入请注明论坛昵称  O(∩_∩)O点击惊现很多美女,很多贡献,很多滴欢乐O(∩_∩)O
神人到处有,茶馆特别多。谁让我开不成茶馆,我就让ta2012。在我二成一种传奇之后,再也不用羡慕其他人了。
gototop
 

回复:一个C语言的直接递归的程序

小二电脑帝啊


gototop
 

回复 4F 鬼鬼小猫咪 的帖子

抄的~

娱乐区官方群——113762779,加入请注明论坛昵称  O(∩_∩)O点击惊现很多美女,很多贡献,很多滴欢乐O(∩_∩)O
神人到处有,茶馆特别多。谁让我开不成茶馆,我就让ta2012。在我二成一种传奇之后,再也不用羡慕其他人了。
gototop
 

回复 5F 茶馆小二 的帖子

电脑帝帮忙看看我那个贴...

http://bbs.ikaka.com/showtopic-8720372.aspx

谢谢


gototop
 

回复:一个C语言的直接递归的程序

不懂也
我跨越过时代 如兽般的姿态
琴声唤起沉睡的血脉
不需要被崇拜 如兽般的悲哀
只为永恒的乐曲而存在
醒过来
gototop
 

回复 6F 鬼鬼小猫咪 的帖子

有看没有懂~

娱乐区官方群——113762779,加入请注明论坛昵称  O(∩_∩)O点击惊现很多美女,很多贡献,很多滴欢乐O(∩_∩)O
神人到处有,茶馆特别多。谁让我开不成茶馆,我就让ta2012。在我二成一种传奇之后,再也不用羡慕其他人了。
gototop
 

回复 8F 茶馆小二 的帖子

额,谢谢...我再研究研究.....


gototop
 

回复 8F 茶馆小二 的帖子

谢谢了,版主,原来是我的计算错了。
gototop
 
12   1  /  2  页   跳转
页面顶部
Powered by Discuz!NT