C语言之函数调用12—递归法求阿克曼函数

来源:互联网 发布:php微信支付接口源码 编辑:程序博客网 时间:2024/05/01 21:54
//递归法!
/*
===========================================
题目:编写阿克曼函数的递归函数程序!
                 

A(m,n)=

  • n+1                (m=0)
  • A(m-1,1)       (m=0)
  • A(m-1,A(m,n-1))            (m!=0,n!=0)

===========================================
*/
#include<stdio.h>
int A(int m,int n)
{
if(m==0)
return n+1;
else if(n==0)
return A(m-1,1);
else
return A(m-1,A(m,n-1));
}
void main()
{
int m,n,p,flag=1;
while(flag)
{
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);
p=A(m,n);
printf("A(%d,%d)=%d\n\n",m,n,p);
}
}
/*
===========================================
评:

这道题目很简单,已经明确了递归函数的具体形式,直接

写一个函数,调用即可!但是,如果要手算,这是一个相

当复杂的调用过程,如果让你把m和n分别从1到10算出来,

可能需要个把小时才行!利用计算机几分钟就搞定了!

===========================================
*/
1 0
原创粉丝点击