ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Mover N discos de origen a destino


Enviado por   •  25 de Febrero de 2019  •  Informe  •  791 Palabras (4 Páginas)  •  71 Visitas

Página 1 de 4

Mover N discos de origen a destino

  • Mover (N-1) discos de origen a auxiliar
  • Mover 1 disco origen a destino

Mover (N-1) disco de auxiliar a destino

[pic 1]

Pseudocodigo

  1. si origen [pic 2] entonces
  1. mover el disco 1 de pila origen a la pila destino (insertarlo arriba de la pila destino)
  2. terminar
  1. si no
  1. hanoi([pic 3],origen,destinoauxiliar)     //mover todas las fichas menos la más grande (n) a la varilla auxiliar
  1. mover disco n a destino                //mover la ficha grande hasta la varilla final
  2. hanoi (auxiliarorigendestino)          //mover todas las fichas restantes, 1…n–1, encima de la ficha grande (n)
  3. terminar

Programa en lenguaje de alto nivel JAVA

package hanoi;

public class Hanoi {

        /**Este método permite determinar qué torre se puede utilizar como auxiliar

         * para los movimientos intermedios dadas unas torres de orígen y destino

         

        static public char torreDisponible(char origen,char destino){

                char auxiliar;

                if((origen !='A')&& (destino!='A')){

                        auxiliar='A';

                }else if ((origen !='B')&& (destino!='B')){

                        auxiliar='B';

                }else{

                        auxiliar='C';

                }

                return auxiliar;

        }

        /**Resolución del problema de las Torres de Hanoi para el caso de tener n discos y unas torres de origen y destino arbitrarias

        static public void resolverHanoi(int n,char origen,char destino){

                /**n es el número de discos a resolver*/

                if(n>1){

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (167 Kb) docx (28 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com