作业帮 > 综合 > 作业

Ackerman函数 C语言程序

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/24 20:02:32
Ackerman函数 C语言程序
Ackerman函数A(n,m)有两个独立的整数变量m>=0和n>=0,其定义如下:
A(1,0)=2
A(0,n)=1 m>=0
A(n,0)=n+2 n>=2
A(n,m)=A(A(n-1,m),m-1) n,m>=1
给出实现Ackerman函数的程序.
输入
输入n,m的值,(n
Ackerman函数 C语言程序
#include"stdio.h"
int Ackerman(int n,int m)
{
if(n==1&&m==0)
return 2;
else if(n==0&&m>=0)
return 1;
else if(n>=2&&m==0)
return n + 2;
else if(n>=1&&m>=1)
return Ackerman(Ackerman(n - 1,m),m - 1);
}
int main()
{
int n,m;
scanf("%d%d",&n,&m);
printf("%d\n",Ackerman(n,m));
return 0;
}
再问: int main() {int a,b,sum=0; int A(int n,int m,int *x,int *y); scanf("%d%d",&a,&b); sum+=A(a,b,&a,&b); printf("%d",sum); system("pause"); return 0; } int A(int n,int m,int *x,int *y) {if(m==0) {if(n==1) return 2; else return n+2; } else {if(n==0) return 1; else {*x=A(n-1,m);*y=m-1;} } return 0; } 能帮我看看我错哪了吗?