作业帮 > 综合 > 作业

问一道C语言题,已知Ackermann()函数定义如下:A(m,n)=n+1 if m=0 A(

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/05/09 02:54:17
问一道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(
#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;
}