Bueno gente, antes que nada muchas gracias por la ayuda en los anteriores problemas, estoy agradecido que pierdan minutos de su vida en mi.
Ahora pasando a un tema que me esta volviendo loco jejeje..
Es la primera vez que veo recursividad y yo solo pensaba que solo repetía código un bucle.
Pero veo que no...
Entonces esto me mosquea mucho... :asco:
A ver un método recursivo es hacer un ejercicio mas chico, hasta llegar a la base?
Por ejemplo el factorial de un número
3! = 3 * 3 * 3
Con un bucle for lo haría así:
Public int GetFactorialConCiclo(int n){
int acomulado = 1;
for(int i = n; i >= 1;i--){
acomulado * = 1;
}
return acumulado;
}
Pero no sabía yo que se podía hacer esto sin usar un solo bucle, solamente un método y llamandolo en el método princiapal :stress:
Que sería asi:
public int GetFactorialRecursivo(int n){
if(n == 0){
return 1;
}
else{
return n * GetFactorialRecursivo(n-1);
}
}
El segundo es mas limpio, pero tengo muchas dudas
No entiendo la recursividad, tampoco entiendo por que el bucle actúa como un bucle,tampoco entiendo como sabe el mismo método que tiene que llegar hasta el final del numero factorial...
Si me lo explicas te estaré agradecido, si vas a poner un enlace a otra dirección web, porfavor que sea en español
Gracias.