S9 (language)/Ackermann Function

From Wiki**3

< S9 (language)

O cálculo da função de Ackermann: esta função tem um crescimento muito rápido pelo que nos computadores actuais, mesmo utilizando C, os argumentos não deverão exceder m=3 e n=12 para executar em poucos segundos.

<c>

 public int cnt = 0;
 public int ackermann(int m, int n) {
   cnt = cnt + 1;
   if (m == 0) ackermann = n+1;
   elif (n == 0) ackermann = ackermann(m-1, 1);
   else ackermann = ackermann(m-1, ackermann(m, n-1));
 }
 public int getcnt() { getcnt = cnt; }

</c>