Mathematical puzzles have captivated humans since ancient times. One such puzzle is the Tower of Brahma, which consists of three diamond rods and 64 gold rings of various sizes that can be stacked on the rods. It is said that at the time of creation, all of the rings were stacked in order on a single rod, with the largest ring at the bottom and the smallest at the top. Monks were given the task of transferring all the rings from one rod to another, one ring at a time, with the constraint that no larger ring is ever placed on top of a smaller one. The French mathematician E. Lucas seems to have popularized this puzzle as the Tower of Hanoi, using an arbitrary number of rings. The authors use the puzzle, which is solved easily by means of recursion, as a programming exercise for computer science students. However, iterative solutions are much harder to understand.

This puzzle, however recreational in nature, has very interesting mathematics underlying it. While it is simple to state, it takes a whole book to explore. The authors present the history, math, and associated myths, illustrated with many theorems, extensions, and variations. Each chapter offers absorbing exercises at the end, and hints and solutions to some of the exercises appear in an appendix. The authors support their ideas with numerous photos and color illustrations, and conclude the book with a glossary, an exhaustive bibliography, and indexes. The publisher provides a website (http://tohbook.info) with resources for further study, as well as news, reviews, and errata. The style of writing makes the content comprehensible even to novices.

I found the book to be well written and informative, despite the unfortunately significant number of errors. I strongly recommend it to students and researchers of mathematics and computer science, and also game enthusiasts.