gggggggggg
Torres de Hanoi em Java
O
1 Resposta
P
Boa Tarde senhor.
De uma olhado nesse código talves seja o que procura.
/*-----------------------------------------------------------------------*/
/* Torre de Hanói: lista os movimentos necessários para completar o jogo.*/
/* O objetivo é transferir todos os discos empilhados em uma haste */
/* para uma outra haste, inicialmente vazia, usando uma terceira haste */
/* para armazenamento temporário. Os discos estão ordenados por tamanho */
/* com o maior disco em baixo. Pode-se mover apenas um disco por vez e, */
/* em nenhum momento, um disco maior pode pousar sobre um disco maior. */
/* Como o algoritmo é exponencial, o número de discos não deve ser grande*/
/* Solução iterativa (não recursiva). */
/* Francisco A. S. Grossi */
/*-----------------------------------------------------------------------*/
public class Hanoi {
/*-----------------------------------------------------------------------*/
/* 1)Transfere n-1 discos da haste 'a' para a haste 'c' ('b' auxiliar) */
/* 2)Move o último disco da haste 'a' para a haste 'b' */
/* 3)Transfere n-1 discos da haste 'c' para a haste 'b' ('a' auxiliar) */
/* Parâmetros: 1) Número de discos que devem ser transferidos */
/* 2) Haste onde estão os discos */
/* 3) Haste para onde vão os discos */
/* 4) Haste auxiliar */
/*-----------------------------------------------------------------------*/
public static void transfere(int n, char a, char b, char c) {
if (n > 0) {
transfere(n-1,a,c,b);
System.out.println("Move disco " + n + " da haste " + a +
" para haste " + b);
transfere(n-1,c,b,a);
}
}
/*-----------------------------------------------------------------------*/
/* Programa principal: Move n discos de A para B, usando C como auxiliar.*/
/* Identificam-se as hastes pelas letras A,B,C. */
/*-----------------------------------------------------------------------*/
public static void main(String argumentos[]) {
int numero;
do {
numero = Teclado.readInt("Entre o número de discos:");
} while (numero < 0 || numero > 16);
transfere(numero,'A','B','C');
}
}
Ele pertence ao meu professor Francisco Grossi.
Criado 24 de julho de 2007
Ultima resposta 26 de jul. de 2007
Respostas 1
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo