Para o programa em Java abaixo:
public class Hanoi {
public static void main(String[] args) { towers(3,'A','C','B');
}
public static void towers(int numdisco, char origem,
char destino, char aux) {
if( numdisco == 1) {
System.out.println("Mova o disco "+numdisco+" da torre "+origem+" para "+destino);
} else {
towers( lacuna 1 );
System.out.println("Mova o disco "+numdisco+" da torre "+origem+" para "+destino);
towers(numdisco-1,aux,destino,origem);
}
}
}
Produzir a saída:
Mova o disco 1 da torre A para C
Mova o disco 2 da torre A para B
Mova o disco 1 da torre C para B
Mova o disco 3 da torre A para C
Mova o disco 1 da torre B para A
Mova o disco 2 da torre B para C Mova o disco 1 da torre A para C Devemos substituir as lacunas 1 e 2, respectivamente, por: