| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 679 人关注过本帖
标题:为什么?
只看楼主 加入收藏
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
 问题点数:0 回复次数:9 
为什么?
大家看看这个程序:
#include <iostream.h>
long int Ack(int m,int n);
void main(void)
{
int a,b;
cout<<"请输入阿克曼函数中的参数a:";
cin>>a;
cout<<"请输入阿克曼函数中的参数b:";
cin>>b;
cout<<"Ack("<<a<<","<<b<<")="<<Ack(a,b)<<endl;
}
long int Ack(int m,int n)
{long int ack;
if(m==0) ack=n+1;
if(1<=m&&n==0) ack=Ack(m-1,1);
if(m>=1&&n>=1) ack=Ack(m-1,Ack(m,n-1));
return ack;
}
为什么输入4,1后没有结果?
是不是数据过大的原因?
但是输入3 ,5就有结果如下:
******************************************
请输入阿克曼函数中的参数a:3
请输入阿克曼函数中的参数b:5
Ack(3,5)=253
Press any key to continue
******************************************
搜索更多相关主题的帖子: include return 
2005-12-28 17:37
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 
反正我也试了好多数字 比如输入5,0也没法显示
跟踪其值的变化 算了好久都没算出最后结果
if(m==0) ack=n+1;
if(1<=m&&n==0) ack=Ack(m-1,1);
if(m>=1&&n>=1) ack=Ack(m-1,Ack(m,n-1));
这儿的循环太多了!

[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2005-12-28 18:07
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
谁能帮我看看这个是怎么回事?

♂ 死后定当长眠,生前何须久睡。♀
2006-03-22 22:44
c_stone
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-22
收藏
得分:0 

老兄,你好好想想你的递归调用吧
凡是输入的a>b,结果都有一个ack=Ack(k,0),出现0就不对了嘛

2006-03-22 23:08
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

不能调用Ack(4,*)(及4以上),因为这时Ack() 函数增长太快,系统栈将被耗尽!


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-22 23:20
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 

呵呵,谢谢了!我明白了!


♂ 死后定当长眠,生前何须久睡。♀
2006-03-23 15:09
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
是程序错了,无限递归...

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-03-23 19:21
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 

2006-03-23 19:23
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
得分:0 
呵呵

http://www. 第二站>>>提供源码下载
2006-03-23 21:11
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
不可能吧?
你能说说错在哪里了?不应该是无限递归啊!
递归次数是多了些但是不应该是无限递归。

♂ 死后定当长眠,生前何须久睡。♀
2006-03-24 00:19
快速回复:为什么?
数据加载中...
 
   



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

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