问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0 A(问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0A(m,n)=ack(m-1,1) if m0 n=0A(m,n)=(m-1,ack(m,n-1)) if m0 n0用递归实现该函数,并编写一

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 03:09:37

问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0 A(问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0A(m,n)=ack(m-1,1) if m0 n=0A(m,n)=(m-1,ack(m,n-1)) if m0 n0用递归实现该函数,并编写一
问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0 A(
问一道C语言题,已知Ackermann()函数定义如下:
A(m,n)=n+1 if m=0
A(m,n)=ack(m-1,1) if m0 n=0
A(m,n)=(m-1,ack(m,n-1)) if m0 n0
用递归实现该函数,并编写一个主函数调用它!
c语言初学者,这个函数貌似书上没有,而且m0这个表示什么意思不懂,麻烦大家帮个忙,最好能写出程序,感激不尽!

问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0 A(问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0A(m,n)=ack(m-1,1) if m0 n=0A(m,n)=(m-1,ack(m,n-1)) if m0 n0用递归实现该函数,并编写一
#include <stdio.h>

int Ackermann(int m, int n)
{
  if (m == 0) return n + 1;
  if (n == 0) return Ackermann(m - 1, 1);
  return Ackermann(m - 1, Ackermann(m, n - 1));
}

int main()
{
  int m, n, a;
  scanf("%d%d", &m, &n);
  a = Ackermann(m, n);
  printf("A(%d, %d) = %d\n", m, n, a);
  return 0;
}