标题:盼望高手详细解答,初级题目!
只看楼主
lele2010
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:84
专家分:121
注 册:2010-1-23
结帖率:100%
已结贴  问题点数:5 回复次数:5 
盼望高手详细解答,初级题目!
#include<stdio.h>
int fib(int g)
{
    switch(g)
    {
    case 1:
    case 2:
        return 1;
    }
    return(fib(g-1)+fib(g-2));
}
void main()
{
    int k;
    k=fib(5);
    printf("%d\n",k);
}

这道题目答案为什么是5?
盼望高手详细解答!非常感谢!
搜索更多相关主题的帖子: 解答 初级 
2010-02-21 11:23
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
得分:2 
1 1 2 3 5 8 13 21……
斐波那契数列。规律你应该自己能看出来,这个是讲解递归经典问题了,就是求该数列中的第n项。递推公式就是fib(n)=fib(n-1)+fib(n-2);
基本情况就是n为1或2时返回1;你拿张纸一步步跟踪程序应该就能看懂。
2010-02-21 11:30
q260548893
Rank: 2
等 级:论坛游民
帖 子:24
专家分:46
注 册:2010-2-4
得分:3 
fib(1)=fib(2)=1 ;
fib(5)=fib(4) + fib(3) ;
      =fib(3) + fib(2) + fib(2) + fib(1) ;
      =fib(2) + fib(1) + fib(2) + fib(2) + fib(1) ;
      =3fib(2) + 2fib(1) ;
      =5
不知道我这样讲了,你能否明白。
2010-02-21 13:41
JZ_ZCCZ
Rank: 2
等 级:论坛游民
帖 子:17
专家分:17
注 册:2010-2-25
得分:0 
以下是引用q260548893在2010-2-21 13:41:36的发言:

fib(1)=fib(2)=1 ;
fib(5)=fib(4) + fib(3) ;
      =fib(3) + fib(2) + fib(2) + fib(1) ;
      =fib(2) + fib(1) + fib(2) + fib(2) + fib(1) ;
      =3fib(2) + 2fib(1) ;
      =5
不知道我这样讲了,你能否明 ...
精辟
2010-02-27 10:13
chongnou
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-12
得分:0 
这个例子的确蛮经典的!
2010-02-27 16:27
飘在深圳
Rank: 1
等 级:新手上路
帖 子:27
专家分:5
注 册:2010-2-28
得分:0 
ee
递归问题

[ 本帖最后由 飘在深圳 于 2010-2-28 21:59 编辑 ]
2010-02-28 21:45



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




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

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