El algoritmo de Ackerman, si no recuerdo mal era:
A(m,n)=
1) A(m-1,A(m,n-1)) si m y n != 0;
2) A(m-1,1) Si n=0;
3) n+1 si m = 0.
Y si esta mal me lo dices. Puedes comprobar tu misma el orden de ejecución mediante el siguiente procedimiento:
int Ackerman(int m, int n)
{
if (m==0) {
printf("A(%d,%d)\n",m,n);
return n+1;
}
else if (n==0){
printf("A(%d,%d)\n",m,n);
return Ackerman(m-1,1);
}
else{ printf("A(%d,A(%d,%d))\n",m-1,m,n-1);
return Ackerman(m-1,Ackerman(m,n-1));
}
}
Que te sea de ayuda!
Si tienes algun problema no dudes en consultar!