Ej 6

Ej 6

de Diego Benjamin Corujo Alanis -
Número de respuestas: 1

En la letra me dice:

"La versión recursiva vista de factorial no presenta recursión de cola..."

En el pdf trabajado en teórico aparece esta definición recursiva de factorial:

if ( n==0) return 1;

else return n * fac (n-1);

esto no es una recursion de cola? Por definición sabemos que es recursion de cola cuando no tiene instrucciones luego de la llamada recursiva y por lo que veo esta función cumple eso mismo, alguna respuesta?

En respuesta a Diego Benjamin Corujo Alanis

Re: Ej 6

de Matias Richart -

Hola Diego.

Si hay una instrucción luego de la llamada, la multiplicación por n, la cual se ejecuta luego de obtener el resultado de fac(n-1).

Te sugiero reescribir el código para verlo mas claro:

int result;

if ( n==0)

    result = 1;

else {

  int f = fac(n-1)

  result = n*f;

}

return result;