Hai mai pensato alla funzione di Ackerman?
codice:
Ack0,0,z) = z
Ack(0,y + 1,z) = Ack(0,y,z) + 1
Ack(1,0,z) = 0
Ack(x + 2,0,z) = 1
Ack(x + 1,y + 1,z) = Ack(x,Ack(x + 1,y,z),z)
Potresti prevedere uno scambio di matrici tra client e server e far sì che il server ritorni indietro la matrice composta dai valori della funzione di Ackerman calcolati in questo modo:
codice:
A(x, y) <-- Ack(A(x, y), x, y)
Attento a non usare valori troppo grandi: la funzione di Ackerman cresce moltissimo (cresce più velocemente di qualsiasi altra funzione ricorsiva primitiva). Ad esempio Ack(3, 3, 3) = 3 ^ 27.
Ciao.