SlideShare una empresa de Scribd logo
1 de 6
Tower of Hanoi
ALGORITMO

Oliver Martinez.
N.E. 200 90 5607
INF-201
La torre de Hanoi consiste en mover formas ordenas de mayor a menor de un
punto a otro teniendo un punto intermedio. Hay dos únicas reglas que son:
1. Solo se puede mover una pieza a la vez.
2. Maner el orden de la pieza mayor siempre debe estar debajo de la menor.

A mayor número de piezas, mayor los pasos para lograrlo.
A continuación se presenta el algoritmo hecho en Python
para resolver el problema de la torre. El algoritmo es por
una función recursiva.
def moveTower(height, fromPole, toPole, withPole):
if height >= 1:
moveTower(height-1, fromPole, withPole, toPole)
moveDisk(fromPole, toPole)
moveTower(height-1, withPole, toPole, fromPole)
def moveDisk(ft, tp):
print("Moving disk from %d to %dn" % (ft, tp))
La función moveTower nos pide 4 valores:
1. Número de piezas (el alto de la torre)
2. La posición inicial.
3. La posición intermedia.
4. La posición final.
moveTower(height, fromPole, toPole, withPole)
La siguiente línea nos muestra una condición que mientras
el número de piezas sea mayor o igual a 1
if height >= 1:
Llame nuevamente la función pero restándole 1 a número de piezas
e intercambiando los valores de la posición intermedia y final.
moveTower(height-1, fromPole, withPole, toPole)
Cuando la condición sea falsa, osea el número de piezas menor a 1,
llamará a la función moveDisk pasándole los valores de posición inicial
y posición intermedia.
moveDisk(fromPole, toPole)
Esta función mostrará en pantalla la posición a la que la pieza debe ser
movida.
def moveDisk(ft, tp):
print("Moving disk from %d to %dn" % (ft, tp)
Después de mostrar la posición de la pieza regresa a llamar nuevamente a la
función moveTower pero las posición inicial ahora es la final, la final es la inicial y
la intermedia no sufre cambios.
moveTower(height-1, withPole, toPole, fromPole)
Se vuelve a ejecutar la línea de la condición if height >= 1: y mientras no sea menor
de uno se repetirá nuevamente el proceso.

Más contenido relacionado

Destacado

04 график работы 14.07.2015
04 график работы 14.07.201504 график работы 14.07.2015
04 график работы 14.07.2015vmbronnikov
 
Miss Maui Scholarship Organization Fundraiser Flyer
Miss Maui Scholarship Organization Fundraiser FlyerMiss Maui Scholarship Organization Fundraiser Flyer
Miss Maui Scholarship Organization Fundraiser FlyerRuby's Diner Kahului
 
Sensory challenges assignment for aut500
Sensory challenges assignment for aut500Sensory challenges assignment for aut500
Sensory challenges assignment for aut500MaryWalt1
 
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...Anna Toropova
 
Enoxaparin induced local hypersensitivity reactions a rare case report
Enoxaparin induced local hypersensitivity reactions  a rare case reportEnoxaparin induced local hypersensitivity reactions  a rare case report
Enoxaparin induced local hypersensitivity reactions a rare case reportGangula Amareswara Reddy
 
Status of ICT structure, infrastructure and applications existed to manage an...
Status of ICT structure, infrastructure and applications existed to manage an...Status of ICT structure, infrastructure and applications existed to manage an...
Status of ICT structure, infrastructure and applications existed to manage an...FAO
 
Cableado estructurado
Cableado estructuradoCableado estructurado
Cableado estructuradowilliamchv
 
Programa e información practica iii jornadas ofs
Programa e información practica iii jornadas ofsPrograma e información practica iii jornadas ofs
Programa e información practica iii jornadas ofsfranfrater
 

Destacado (10)

04 график работы 14.07.2015
04 график работы 14.07.201504 график работы 14.07.2015
04 график работы 14.07.2015
 
Miss Maui Scholarship Organization Fundraiser Flyer
Miss Maui Scholarship Organization Fundraiser FlyerMiss Maui Scholarship Organization Fundraiser Flyer
Miss Maui Scholarship Organization Fundraiser Flyer
 
Sensory challenges assignment for aut500
Sensory challenges assignment for aut500Sensory challenges assignment for aut500
Sensory challenges assignment for aut500
 
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
 
Enoxaparin induced local hypersensitivity reactions a rare case report
Enoxaparin induced local hypersensitivity reactions  a rare case reportEnoxaparin induced local hypersensitivity reactions  a rare case report
Enoxaparin induced local hypersensitivity reactions a rare case report
 
Status of ICT structure, infrastructure and applications existed to manage an...
Status of ICT structure, infrastructure and applications existed to manage an...Status of ICT structure, infrastructure and applications existed to manage an...
Status of ICT structure, infrastructure and applications existed to manage an...
 
Cableado estructurado
Cableado estructuradoCableado estructurado
Cableado estructurado
 
SlideShare
SlideShare SlideShare
SlideShare
 
Programa e información practica iii jornadas ofs
Programa e información practica iii jornadas ofsPrograma e información practica iii jornadas ofs
Programa e información practica iii jornadas ofs
 
'Line photo' analyses
'Line photo' analyses'Line photo' analyses
'Line photo' analyses
 

Más de olivermartz (7)

Graphs
GraphsGraphs
Graphs
 
Hashing
HashingHashing
Hashing
 
Trees
TreesTrees
Trees
 
Cola
ColaCola
Cola
 
Ordenar
OrdenarOrdenar
Ordenar
 
Números factoriales
Números factorialesNúmeros factoriales
Números factoriales
 
RSA
RSARSA
RSA
 

Tower of hanoi

  • 1. Tower of Hanoi ALGORITMO Oliver Martinez. N.E. 200 90 5607 INF-201
  • 2. La torre de Hanoi consiste en mover formas ordenas de mayor a menor de un punto a otro teniendo un punto intermedio. Hay dos únicas reglas que son: 1. Solo se puede mover una pieza a la vez. 2. Maner el orden de la pieza mayor siempre debe estar debajo de la menor. A mayor número de piezas, mayor los pasos para lograrlo.
  • 3. A continuación se presenta el algoritmo hecho en Python para resolver el problema de la torre. El algoritmo es por una función recursiva. def moveTower(height, fromPole, toPole, withPole): if height >= 1: moveTower(height-1, fromPole, withPole, toPole) moveDisk(fromPole, toPole) moveTower(height-1, withPole, toPole, fromPole) def moveDisk(ft, tp): print("Moving disk from %d to %dn" % (ft, tp))
  • 4. La función moveTower nos pide 4 valores: 1. Número de piezas (el alto de la torre) 2. La posición inicial. 3. La posición intermedia. 4. La posición final. moveTower(height, fromPole, toPole, withPole) La siguiente línea nos muestra una condición que mientras el número de piezas sea mayor o igual a 1 if height >= 1: Llame nuevamente la función pero restándole 1 a número de piezas e intercambiando los valores de la posición intermedia y final. moveTower(height-1, fromPole, withPole, toPole)
  • 5. Cuando la condición sea falsa, osea el número de piezas menor a 1, llamará a la función moveDisk pasándole los valores de posición inicial y posición intermedia. moveDisk(fromPole, toPole) Esta función mostrará en pantalla la posición a la que la pieza debe ser movida. def moveDisk(ft, tp): print("Moving disk from %d to %dn" % (ft, tp)
  • 6. Después de mostrar la posición de la pieza regresa a llamar nuevamente a la función moveTower pero las posición inicial ahora es la final, la final es la inicial y la intermedia no sufre cambios. moveTower(height-1, withPole, toPole, fromPole) Se vuelve a ejecutar la línea de la condición if height >= 1: y mientras no sea menor de uno se repetirá nuevamente el proceso.