TORRES DE HANOI
La Leyenda: En una ciudad antigua en la
India, los monjes de un templo tienen que mover una pila de 64 discos sagrados
a partir de una localización a otra. Los discos son frágiles; solamente uno se
puede llevar al mismo tiempo. Un disco no se puede colocar encima de un disco
más pequeño, menos valioso. Y, hay solamente otra localización en el templo
(además de la original y de la localización de destino) bastante sagrada y solo
una pila de discos se puede colocar allí. Así pues, los monjes comienzan a
mover discos hacia adelante y hacia atrás, entre la pila original, la pila en
la nueva localización, y la localización intermedia, manteniendo siempre el
orden (más grande en el fondo, más pequeño en la tapa). La leyenda consiste en
que, antes de que los monjes hagan el movimiento final de terminar la pila
nueva en la nueva localización, el templo se convertirá en polvo y el mundo
terminará. Tú que crees? .........Bueno dejémonos de leyendas y vamos a lo que
vamos.......
El
"Juego" torres de Hanoi consiste en tres palos, en el cual el primer palo
tiene N número de argollas colocadas de tal manera que las más grandes siempre
deben estar por debajo de las más pequeñas...el segundo palo le podremos llamar
palo auxiliar y es el que nos ayudará de cierta manera a lograr el desarrollo
del juego el cual será lograr pasar todas las argollas al tercer palo de tal
manera que se mueve una argolla a la vez y que nunca una argolla grande quede
encima de una pequeña....

Torre 1............... Torre
2............... Torre 3
Secuencia para
tres anillos:


Para cuatro anillos:

El Programa:
#include <iostream.h>
{
if (N == 1)
cout << "Mover torre " << inicio << " a torre " << final <<endl<<endl;
else {
torres(N-1, inicio, final,
aux); //N-1 discos del poste inicial al
final
cout << "Mover torre
" << inicio << " a torre " << final <<
endl;
torres(N-1, aux, inicio, final);
//N-1 discos del poste auxiliar al final
}
}
int
anillos=0;
const
int poste1=1, poste2=2, poste3=3;
cin >> anillos;
torres(anillos, poste1, poste2, poste3);
}
Efectuadas por el
estudiante Jorge Daniel Mesa:
Numero de
discos: 2

Numero de
discos: 3

· El resultado quedaría de la siguiente
manera:

El resultado
quedaría de la siguiente manera: