martes, 23 de septiembre de 2014
Buenas a todos hace poco me vi con un problema y tuve que utilizar una función recursiva, creo que es un tema interesante, y vamos a verlo poco a poco.

¿Que es una función recursiva?

Una función recursiva es aquella que se llama a si misma, es decir se invoca a si misma  cambiando el valor de un parámetro en la llamada, así de sucesivas llamadas recursivas a la función se van obteniendo los distintos valores y cuando se cumple una condición predeterminada esta para y vuelve al anterior y de esta forma el ciclo va finalizando paulatinamente. 



Entendiendo con un ejemplo.

El ejemplo más utilizado para explicarlo es utilizar el ejemplo del factorial de un número,  el cual para cualquier entero positivo N, el factorian de N(N!) es el producto de la mutliplicación de todos los enteros menor a él, ejemplo:

  • 1! = 1
  • 2! = 1 x 2 = 2
  • 3! = 1 x 2 x 3 = 6
  • 4! = 1 x 2 x 3 x 4 = 24
  • ......

Y así infinitamente, como se expresa en java.

//Función factorial pasandole el número nos cacula el valor factorial de él.
public static int factorial(int n)

{
if (n==1){
return 1;  //Si es 1 nos devuelve 1
} else {
return n * factorial (n-1); // Si es mayor de 1 se multiplica por el valor resultante de llamarse
}                                             // a si misma pasando por parametro el número anterior y así
                                               // de forma recursiva.
}



En el método main sólo hacemos la llamada al mismo:

public static void main(String[] args) {
for (int i = 1; i< 15; i++ )
System.out.println ("- El número factorial de "+  i +" : "+factorial(i));

}

Y podemos ver como funciona, espero que sea claro, nos vemos un saludo.


0 comentarios:

Publicar un comentario