S9 (language)/Ackermann Function: Difference between revisions

From Wiki**3

< S9 (language)
(New page: 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 pa...)
 
No edit summary
Line 12: Line 12:
</c>
</c>


[[category:Compilers]]
[[category:Compiladores]]
[[category:Teaching]]
[[category:Ensino]]

Revision as of 14:32, 6 April 2015

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>