public static void MueveTorre(int discos, string torre1, string torre2, string torre3) { //Si numero de movimiento es menor a cero, mueve a torre if (discos < 2) { Hanoi.mover(discos, torre1, torre2); } else { //Generar iteración de recursividad para mover a torre auxiliar Hanoi.MueveTorre(discos - 1, torre1, torre3, torre2); //Cambiar disco de torres Hanoi.mover(discos, torre1, torre2); //Mover a torre auxiliar para generar pivote de torre Hanoi.MueveTorre(discos - 1, torre3, torre2, torre1); } return; }
public static void MueveTorre(int num, int desde, int hasta, int pivote) { //Si numero de movimiento es menor a cero, mueve a torre if (num < 2) { Hanoi.mover(num, desde, hasta); } else { //Generar iteración de recursividad para mover a torre auxiliar Hanoi.MueveTorre(num - 1, desde, pivote, hasta); //Cambiar disco de torres Hanoi.mover(num, desde, hasta); //Mover a torre auxiliar para generar pivote de torre Hanoi.MueveTorre(num - 1, pivote, hasta, desde); } return; }