Answer:
Please check explanation
Explanation:
// Ackermann's Function - Totally Recursive
#include<stdio.h>
#include<stdlib.h>
int ackermannfunction(int a1, int b1);
int count1 = 0, indent1 = 0;
int main(int argc, char **argv)
{
int a1,b1;
if(argc!=3)
{
printf("\\Usages : %s \\",argv[0]);
exit(0);
}
a1=atoi(argv[1]);
b1=atoi(argv[2]);
printf("\\ Ackermann method with provided parameters (%d,%d) is %d\\",a1,b1,ackermannfunction(a1,b1));
printf("\\ Method called %d number of times.\\",count1);
}
int ackermannfunction(int a1, int b1)
{
count1++;
if(a1) return -1;
if(a1==0)
return b+1;
if(b1==0)
return ackermannfunction(a1-1,1);
return ackermannfunction(a1-1,ackermannfunction(a1,b1-1));
}