volpi92
05-06-2012, 14:37
Salve a tutti,
ho la seguente funzione ricorsiva:
int fun(int m, int n)
{
int h;
h = m++;
if (m + n > 8) return m+h;
else return fun(3*m,n-1) - fun(m,3*n);
}
devo capire se è tail ricorsiva o no e motivare la risposta.
come posso procedere??? l'esame è domani e spero di chiarite il dubbio entro domani :)
(perchè io so che se il ritorno alla funzione stessa è preceduta da qualche operazione allora è non tail ricorsiva altrimenti se il return alla funzione stessa è sola allora è tail...) giusto???
grazie
ho la seguente funzione ricorsiva:
int fun(int m, int n)
{
int h;
h = m++;
if (m + n > 8) return m+h;
else return fun(3*m,n-1) - fun(m,3*n);
}
devo capire se è tail ricorsiva o no e motivare la risposta.
come posso procedere??? l'esame è domani e spero di chiarite il dubbio entro domani :)
(perchè io so che se il ritorno alla funzione stessa è preceduta da qualche operazione allora è non tail ricorsiva altrimenti se il return alla funzione stessa è sola allora è tail...) giusto???
grazie