17/07/2011, 12:55
|
| | Fecha de Ingreso: junio-2008 Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 6 meses Puntos: 61 | |
Respuesta: Torres de hanoi Pediste que no te lo hagan y que te asesoren, aqui va mi asesoria:
Si los n aros estan en la pila A ( siendo las pilas A, B y C), y se desean mover todos ellos a la pila B, entonces bastaria con mover los n-1 aros de arriba a la pila C, luego mover el unico aro que queda a la pila B y luego mover los n-1 aros desde la pila C a la B,
osea para resolver el problema con tamaño n, hay que resolverlo 2 veces con tamaño n-1 y 1 vez con tamaño 1.
En definitiva, si existiera una funcion recursiva que supiera lo que hay que hacer con n aros, ella en realidad solo sabria:
- como mover 1 aro desde un lugar a otro (facil)
- como mover n aros, desde un lugar a otro ( invocandose a si misma 3 veces )
Una funcion que resuelve el problema de las torres de hanoi seria tan corto como estas 4 instrucciones, encerradas en un if-else, que discrimina entre el caso facil y el no facil. |