unsigned int A(unsigned int n, unsigned int m)
// POST: Rueckgabe ist Wert der Ackermann-Funktion
// A(n,m) : N_0 x N_0 -> N, wobei
// / m+1 , fuer n=0;
// A(n,m) := | A(n-1, 1) , fuer n>0 und m=0;
// \ A(n-1,A(n,m-1)), fuer n>0 und m>0.
{
if (n == 0) return m+1;
if (m == 0) return A(n-1, 1);
return A(n-1, A(n, m-1));
} // A(n,m)