Hanoi kuleleri, 1883 yılında E. Lucas tarafından icat edilmiş bir bulmacadır. Bu bulmacadaki amaç; sol tarafta üst üste duran diskleri, her seferinde bir disk hareket ettirmek kaydıyla, sağ tarafa taşımaktır. Bu sırada hiçbir disk, kendinden küçük olanın üstüne konulamaz. Amaç, mümkün olan en az hamle sayısıyla oyunu tamamlamaktır. Disk sayısı arttıkça minimum hamle sayısı da değişmektedir.
Hanoi kulelerinin çözümü için en basitten ilerleyelim ve yalnızca bir disk olduğunu düşünelim. Bu durumda yalnızca bir hamlede bu diski sağ tarafa alarak problemi çözebiliyoruz. Peki iki disk olduğu durumda ne oluyor? Amacımız, sağ tarafa bu iki diski almak. Eğer küçük olanı sağ tarafa koyarsam bu durumda büyük olanı ortaya koymak durumunda kalırım, bu da işleri uzatır. Oysa ki ben, en büyük olan diski sağ tarafa koymayı hedefliyorum. Bu durumda küçük diski ortaya koyar, ardından büyük olanı sağa koyar, ardından da ortaya koyduğum küçük diski, sağda bekleyen büyük diskin üstüne koyarım. Böylelikle üç hamlede problem çözülmüş olur. Bir disk için bir hamle, iki disk için üç hamle yeterli oldu.