Mi risulta difficile capire come funziona la funzione Ackermann. Penso che la mia comprensione della ricorsione sia difettosa?Ackermann Function Understanding
Ecco il codice in Python:
def naive_ackermann(m, n):
global calls
calls += 1
if m == 0:
return n + 1
elif n == 0:
return naive_ackermann(m - 1, 1)
else:
return naive_ackermann(m - 1, naive_ackermann(m, n - 1))
Se faccio la chiamata di funzione di naive_ackermann (3,4), come e perché faccio finire per ottenere 125?
I commenti saranno apprezzati.
Grazie
Cosa dovrebbe essere stampato su Carta ?? –
secondo wikipedia 125 è la risposta giusta ... –
Non capisco come funzioni la funzione. – Hummus