读书人

下面的这个递归输入4 4 为什么会死

发布时间: 2012-05-05 17:21:10 作者: rapoo

下面的这个递归,输入4 4 为什么会死机?而3 3 就行?
#include<iostream>
using namespace std;
int A(int m,int n);
int main()
{
int i,j;
cout<<"Input the numbres:"<<endl;
cin>>i>>j;
cout<<A(i,j)<<endl;
return 0;
}
int A(int m,int n)
{
if(m==0&&n>=0)return n+1;
else if(m>0&&n==0)return A(m-1,1);
else return A(m-1,A(m,n-1));
}


[解决办法]

C/C++ code
#include<iostream>using namespace std;int A(int m,int n);int main(){    int i,j;    cout<<"Input the numbres:"<<endl;    cin>>i>>j;    cout<<A(i,j)<<endl;    return 0;}int A(int m,int n){    if(m==0&&n>=0)        return n+1;    else if(m>0&&n==0)        return A(m-1,1);    else         return A(m-1,A(m,n-1));}
[解决办法]
Ackman函数,增长非常快的。所以4,4是算不出来的。
你可以google一下。
[解决办法]
你把递归改为迭代可以

读书人网 >C++

热点推荐