Si señores, eso que veis en el título es verdad, entre David y yo nos llevamos 4 horas metidos en mi casa una tarde intentando hacer el problemita de ADA de las torres de Hanoi, el cual casi no fuimos capacez de conseguir, nos liamos a escribir lineas, escribimos 7 u 8 y hacíamos bucles infinitos, escribiamos 10 o 15 y se iba pareciendo la solución, hasta que por fin David fue capaz de resolver el problema que nos propusieron para 3 discos en la torre de hanoi con unas 6 líneas de código, entonces intentamos hacerlos para 4 discos y nos dimos cuenta que nos sobraban líneas, entonces borramos unas pocas de líneas, y nos quedamos con dos líneas exactamente, las cuales son capaces de resolver las torres de Hanoi con n Discos.
Aquí os dejo todo el trabajo de 4 horas:
hanoi(n-1,inicial,fin,auxiliar);
hanoi(n-1,auxiliar,inicial,fin);
Para los que esten intentando hacer ADA les dejo exactamente el código completo:
public class TorreDeHanoi {
public static void main(String[] args) {
hanoi(10, “A”, “B”, “C”);
}
private static void hanoi(int n, String inicial, String auxiliar, String fin) {
if (n > 0) {
hanoi(n-1,inicial,fin,auxiliar);
System.out.println(“Mover disco ” + n + ” de ” + inicial + ” a ” + fin);
hanoi(n-1,auxiliar,inicial,fin);
}
}
}
