用C 语言编写一道程序程序填空,不要改变与输入输出有关的语句.输入一个正整数repeat (0=0),输出函数Ack(m,n)的值.在m>=0和n>=0时Ack(m,n)定义为:Ack(0,n) = n+1Ack(m,0) = Ack(m-1,1)Ack(m,n) = Ack(m-1,Ack(m,n-1)) m

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 05:57:28
用C 语言编写一道程序程序填空,不要改变与输入输出有关的语句.输入一个正整数repeat (0=0),输出函数Ack(m,n)的值.在m>=0和n>=0时Ack(m,n)定义为:Ack(0,n) = n+1Ack(m,0) = Ack(m-1,1)Ack(m,n) = Ack(m-1,Ack(m,n-1)) m

用C 语言编写一道程序程序填空,不要改变与输入输出有关的语句.输入一个正整数repeat (0=0),输出函数Ack(m,n)的值.在m>=0和n>=0时Ack(m,n)定义为:Ack(0,n) = n+1Ack(m,0) = Ack(m-1,1)Ack(m,n) = Ack(m-1,Ack(m,n-1)) m
用C 语言编写一道程序
程序填空,不要改变与输入输出有关的语句.
输入一个正整数repeat (0=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
例:括号内是说明
输入
4 (repeat=4)
0 3
2 0
2 3
0 0
输出
Ackerman(0,3)=4
Ackerman(2,0)=3
Ackerman(2,3)=9
Ackerman(0,0)=1

用C 语言编写一道程序程序填空,不要改变与输入输出有关的语句.输入一个正整数repeat (0=0),输出函数Ack(m,n)的值.在m>=0和n>=0时Ack(m,n)定义为:Ack(0,n) = n+1Ack(m,0) = Ack(m-1,1)Ack(m,n) = Ack(m-1,Ack(m,n-1)) m
main()
{
printf(Ack(2,3));
}
int Ack(int a,int b)
{
if(a==0)
{
return b+1;
}else if(b == 0)
{
return Ack(a-1,1);
}else if(a>0 && b>0)
{
return Ack(a-1, Ack(a,b-1)) ;
}
}