帮忙看下我这个小程序吧!
#include <iostream>
using namespace std;
int Akm(int m, int n){
int a;
if(m==0) return n+1;
else if(n==0) return Akm(m-1, 1);
else return Akm(m-1, Akm(m,n-1));
}
int main(){
cout<<Akm(10, 20)<<endl;
return 0;
}
输入Akm(0,x)时可以运行处结果,而其他m!=0却运行不出来 怎么搞的啊?
问题点数:20、回复次数:5Top
1 楼heroboy2000(动感超人)回复于 2005-04-03 17:14:06 得分 10
else return Akm(m-1, Akm(m,n-1));
这里的Akm(m,n-1)死循环了Top
2 楼kuny1130(KunnY)回复于 2005-04-03 17:17:35 得分 0
哦 想了想 确实是死循环了``` m的值始终不变了```
题错了?~````Top
3 楼kuny1130(KunnY)回复于 2005-04-03 17:20:01 得分 0
估计是题错了 改成Akm(m-1, Akm(m-1,n-1)) 运行可以了```
谢了!Top
4 楼kobefly(科比--网络学习中)回复于 2005-04-03 17:20:32 得分 10
楼主要实现一个什么功能呢
你这个递规似乎有问题啊
else return Akm(m-1, Akm(m,n-1));
这个递规
第2个参数
似乎永远都可能出来啊
Top
5 楼kuny1130(KunnY)回复于 2005-04-03 17:25:36 得分 0
怎么给分啊 总是说 ‘总和不对" 晕!Top




