1
Aprender a programar desde cero / Algoritmo recursivo factorial: ejemplo explicación clara
« en: 14 de Marzo 2013, 12:58 »
Bueno pues estoy con los algoritmo recursivos y no soy capaz de saber como función. Pongo un ejemplo:
int factorial (int n)
if (n==0) return 1;
else return n*factorial(n-1)
yo entiendo que le metes un número n y como llama a la misma función dentro del metodo se va llamando recursivamente. Mi duda es cuando llega a n=0 tendría que devolver 1 y sin en cambio devuelve el factorial de n. Me podrías explicar como va funcionando este bucle. Otra de las dudas que me surgen es se realiza el primer bucle y donde se guarda el resultado de ese bucle, por ejemplo:
si queremos el factorial de 5, en la primera vuelta sería:
return 5 + factorial (n-1) que es 4= 20. devuelve ese valor, pero no lo almacena para sumar el siguiente resultado.
int factorial (int n)
if (n==0) return 1;
else return n*factorial(n-1)
yo entiendo que le metes un número n y como llama a la misma función dentro del metodo se va llamando recursivamente. Mi duda es cuando llega a n=0 tendría que devolver 1 y sin en cambio devuelve el factorial de n. Me podrías explicar como va funcionando este bucle. Otra de las dudas que me surgen es se realiza el primer bucle y donde se guarda el resultado de ese bucle, por ejemplo:
si queremos el factorial de 5, en la primera vuelta sería:
return 5 + factorial (n-1) que es 4= 20. devuelve ese valor, pero no lo almacena para sumar el siguiente resultado.