C语言!在线求助!!

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:56:00
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入两个整数m和n(m>=0且n>=0),输出函数Ack(m,n)的值。
在m>=0和n>=0时Ack(m, n)定义为:
Ack(0,n) = n+1
Ack(m,0) = Ack(m-1,1)
Ack(m,n) = Ack(m-1, Ack(m,n-1)) m>0且n>0

int Ack(int m,int n)
{
if (m==0)
return n+1;
if (n==0)
return Ack(m-1,1);
return Ack(m-1,Ack(m,n-1));
}
void main()
{
int repeat;
cout<<"请输入一个正整数repeat= ";
cin>>repeat;
for (int i=0;i<repeat;i++)
{
cout<<"请输入两个非负整数:";
int m,n;
cin>>m>>n;
cout<<Ack(m,n)<<endl;
}
}