tinha pensado em fazer isso uma vez… mas seria meio diferente… hehe
Minha ideia era colocar um comp ligado 24h (um comp meia boca, tipo pentium 1) resolvendo uma torre de hanoi de vaaarios discos (cada movimento demoraria tipo 0,5 segundo) e esse comp seria um servidorzinho web, e vc poderia ir acompanhando o progresso dele pela web… hehe
A ideia era deixar ele la, rodando durante anos… hehehe
Porque fazer isso ? Ah, sei la, por pura diversão 8)
Own Prison,
Torres De Hanoi consiste num problema inventado por um matemático francês,q consiste em 3 hastes A,B e C sendo q em A existem 64 discos concentricos(do maior,na base; ao menor no topo).O problema consiste em mover os discos da haste de origem(“A”) a haste de destino “C”.Deve-se usar B como haste temporaria obedecendo 3 regras:1-nunca colocar um disco maior sobre um menor,2-Só se move um disco por vez e 3-nunca colocar o disco num outro lugar q não seja as 3 hastes.
E vc deve fazer isso com o menor numero possivel de movimentos.
Se quiser testar pra ver como funciona,faça só c/3 discos.
Ficaria assim, mais ou menos (não conferi), aonde n é o número de discos inicialmente.
transfere(n, origem, destino, auxiliar) {
if (n == 1)
// move disco da origem para o destino
System.out.println(origem + " -> " + destino);
else {
transfere(n-1, origem, auxiliar, destino);
// move disco da origem para o destino
System.out.println(origem + " -> " + destino);
transfere(n-1), auxiliar, destino, origem);
}
}
public class Hanoi extends JApplet implements ActionListener {
JLabel prompt;
JTextField input;
JTextArea outputArea;
JScrollPane scroller;
public void init()
{
prompt = new JLabel( "Numero de discos: " );
input = new JTextField( 10 );
input.addActionListener( this );
outputArea = new JTextArea( 10, 20 );
scroller = new JScrollPane( outputArea );
Container c = getContentPane();
c.setLayout( new FlowLayout() );