Ackermannova funkce je definovana nasledovne:
Ack(0,n) = n+1 pro n>=0
Ack(m,0) = Ack(m-1,1) pro m>=1
Ack(m,n) = Ack(m-1,Ack(m,n-1)) pro m,n>0
Pokud se vypocet naprogramuje rekurzivne primo podle definice, je
velmi zdlouhavy, stejne jako u Fibonacciho rady. Daleko lepsi je vyuziti
tabulky, ve ktere si pamatujeme jiz vypoctene hodnoty funkce a vicekrat
je jiz nepocitame, nybrz bereme hodnoty z tabulky. Pro mala m
lze take pouzit nasledujicich vzorcu:
Ack(0,n) = n+1Vyzkousejte si vyuziti tabulky a uvedenych vzorcu!
Ack(1,n) = n+2
Ack(2,n) = 2*n+3
Ack(3,n) = 2^(n+3)-3
Ack(4,n) = 2^(Ack(4,n-1)+3)-3