| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:菜鸟请教递归问题
只看楼主 加入收藏
砍一刀
Rank: 1
等 级:新手上路
帖 子:36
专家分:3
注 册:2010-6-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:7 
菜鸟请教递归问题
有一个函数
long rfact(int n)
{
long ans;
if(n>0)
    ans=n*rfact(n-1);
else
    ans=1;
return ans;
}
当n等于5的时候
这个函数返还一个什么数值呢?
顺便说一下算法吧 我真的不懂
希望各位大虾指点
搜索更多相关主题的帖子: 递归 
2010-09-18 15:47
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:2 
你给出的函数等价于数学表达式:
       n*f(n-1)               (当n>0)
f(n)=
       1                      (当n=0)


你自己对比理解吧!!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-09-18 15:54
砍一刀
Rank: 1
等 级:新手上路
帖 子:36
专家分:3
注 册:2010-6-6
收藏
得分:0 
楼上能详细一些么 我一知半解的
2010-09-18 16:05
功夫熊猫
Rank: 2
等 级:论坛游民
帖 子:54
专家分:30
注 册:2010-7-14
收藏
得分:2 
这应该是求n!的函数吧
2010-09-18 16:10
a351357741
Rank: 2
等 级:论坛游民
帖 子:117
专家分:70
注 册:2010-9-15
收藏
得分:2 
n=1 时返回ans=1;即rfact(1)=1;
n=2 时调用ans=n * rfact(n-1);即ans=2 * rfact(2-1);rfact(2)=2 * rfact(2-1);
n=3 时调用ans=n * rfact(n-1);即ans=3 * rfact(3-1);
.
.
.
.
.
.
2010-09-18 16:38
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
       n*f(n-1)               (当n>0)
f(n)=
       1                      (当n=0)

上面的数学式子你看得懂不?可以看出f就是对正整数n求阶乘不?如果能,那么你的程序跟这个式子逻辑是一样的!!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-09-18 19:08
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
逻辑关系要自己去分析一遍,你自己才可以做到印象深刻,才能真正理解!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-09-18 19:10
meishaoqing
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2010-9-18
收藏
得分:2 
呵呵,新手前来报到。

受教咯
2010-09-18 19:53
快速回复:菜鸟请教递归问题
数据加载中...
 
   



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

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