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:
¿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.
Suscribirse a:
Enviar comentarios
(Atom)
Archivo del blog
-
▼
2014
(31)
-
▼
septiembre
(13)
- Y al final será Windows 10
- Como mejorar el posicionamiento de tu APP en G...
- Funciones Recursivas.
- Liberado IOS 8
- QUE ES EL PATRÓN MVC
- Conociendo Android (Parte III)
- Conociendo Android (Parte II)
- Liberada la versión 4.1 GA de Spring Framework
- Conociendo Android (Parte I)
- Ya llega el nuevo windows 9.
- Liberado netbeans 8.0.1
- Eclipse 4.4 Luna ha sido liberado.
- Mi primera entrada Bienvenidos a mi Blog Per...
-
▼
septiembre
(13)
Con la tecnología de Blogger.
Popular Post
-
Bueno se ha liberado la versión 8.0.2 del IDE NetBeans, en la que incluye una serie de correcciones y entre las mejoras cabe destacar: In...
Labels
- Adela-cv
- Aforge.net
- Android
- Android Wear
- Android-studio
- Apple
- Apps
- ASO
- C#
- cordova
- CrowdFunding
- Debian7
- Drupal
- Eclipse
- Financiación
- FrameWorks
- gradle
- groovy
- IDE
- Incubadora
- ios
- iOS8
- Java
- JavaScript
- Linux
- Microsoft
- MiniTutorial
- MSQL
- MySQL
- Negocio
- NetBeans
- nodejs
- Patrón_Arquitectura
- phonegap
- Portafolio
- Programación
- Proyectos
- Raspberry pi
- Samsung Gear life
- Shazam
- Sistemas
- Spring_Framework
- Startup
- Ubuntu
- VirtualBox
- Visual Studio
- Windows
- windowsphone
- www
0 comentarios:
Publicar un comentario