@deimos84, non e' NE macchinoso, NE occupa spazio inutilmente SE il codice e' scritto in modo opportuno.
La ricorsione e' equivalente ad un ciclo.
E' responsabilita' del compilatore rigirare 'la frittata' in modo intelligente. Si chiama 'tail recursion', MA e' solo il metodo piu' semplice.
Cercati: principio di induzione.
E' STRETTAMENTE legato al concetto di ricorsione