lunes, 21 de octubre de 2019

Ejercicios Recursividad

Aquí tenemos 2 ejemplos en la aplicación de algoritmos recursivos:


SUCESION DE fibonacci

Resultado de imagen para SUCESION DE fibonacci

La sucesión de Fibonacci es conocida desde hace miles de años, pero fue Fibonacci (Leonardo de Pisa) quien la dio a conocer al utilizarla para resolver un problema.

El primer y segundo término de la sucesión son

Introducción a la sucesión de Fibonacci: concepto, fórmulas y problemas resueltos. Secundaria, ESO y Bachillerato.
Los siguientes términos se obtienen sumando los dos términos que les preceden:

El tercer término de la sucesión es

Introducción a la sucesión de Fibonacci: concepto, fórmulas y problemas resueltos. Secundaria, ESO y Bachillerato.

El cuarto término es

Introducción a la sucesión de Fibonacci: concepto, fórmulas y problemas resueltos. Secundaria, ESO y Bachillerato.

El quinto término es

Introducción a la sucesión de Fibonacci: concepto, fórmulas y problemas resueltos. Secundaria, ESO y Bachillerato.

El sexto término es

Introducción a la sucesión de Fibonacci: concepto, fórmulas y problemas resueltos. Secundaria, ESO y Bachillerato.

El (n+1)-ésimo término es

Introducción a la sucesión de Fibonacci: concepto, fórmulas y problemas resueltos. Secundaria, ESO y Bachillerato.


EJERCICIO EN JAVA

TORRES DE HANOI

Resultado de imagen para torres de hanoi
El fin de las Torres de Hanoi es trasladar la torre de discos a lo largo de tres varillas, desde la configuración inicial a una configuración final indicada. Esta torre està fraccionada en bloques o discos, los cuales deberá mover para restaurar de nuevo la torre en su posición final.

La segunda varilla consiste en una torre de “apoyo” que le permite colocar los discos de manera temporal. No obstante, uno de los requerimientos de la prueba es que debe realizar el menor número de movimientos posible y con el menor número de fallos.


EJERCICIO EN JAVA ejercicio realisado por ing. José Reynaldo Molina Menjívar. 

package torreshanoi;

/**

 *

 * @author NormanGhost

 */

public class TorresHanoi {

    public static void main(String[] args) {

        System.out.print ("Torres de hanoi");

        TorresHanoi objHanoi = new TorresHanoi();

        objHanoi.torresHanoi (3,1,2,3);

        System.out.println("juego Finalisado...  XD");

    }

    //creando metodo recursivo para solucionar la torre de hanoi

    public void torresHanoi(int discos , int torre1 , int torre2 , int torre3){

        if (discos==1){

            System.out.println("Mover disco de torre "+torre1+" a torre "+torre3);

        }else{

            torresHanoi(discos-1,torre1,torre3,torre2);

            System.out.println("Mover disco de torre "+torre1+" a torre "+torre3);

            torresHanoi(discos-1,torre2,torre1,torre3);
        }  
    }  
}



los algoritmos son gracias a la pagina : oscarblancarteblog

Entrada: Tres pilas de números origen, auxiliar, destino, con la pila origen ordenadaSalida: La pila destino
1.         si origen   entonces
1.         mover el disco 1 de pila origen a la pila destino (insertarlo arriba de la pila destino)
2.         terminar
2.         si no
1.         hanoi( ,origen,destino, auxiliar)     //mover todas las fichas menos la más grande (n) a la varilla auxiliar
3.         mover disco n a destino            //mover la ficha grande hasta la varilla final
4.         hanoi (auxiliar, origen, destino) //mover todas las fichas restantes, 1…n–1, encima de la ficha grande (n)
5.         terminar


No hay comentarios.:

Publicar un comentario

Introduccion

https://app.emaze.com/mobile/@aozrctoiq?tgjs=0