Tower of Hanoi

Exercise

Tower of Hanoi is a mathematical puzzle where we have three rods and n disks. The objective of the puzzle is to move all disks on one rod to another rod, obeying the following simple rules:

  • Only one disk can be moved at a time.
  • Each move consists of taking the upper disk from one of the rods and placing it on top of another rod i.e. a disk can only be moved if it is the uppermost disk on a rod.
  • No disk may be placed on top of a smaller disk.

In addition to moving the disks to another rod the following requirements have to be fulfilled:

  • Before executing the algorithm read the number of disks from the console
  • Each disk is identified by it's size which is stored as an integer value
  • After each step (moving one disk to another rod) print out the current state of the three rods by printing out the sizes of the disks for each rod
  • When all disks are located on another rod print out the number of steps which were performed

Example Input / Output

The following console log shows an example of the different events which took place while solving the puzzle:

Type in the number of disks: 3

Solving the puzzle:

Step 0:
Rod A: 3 2 1
Rod B: - 
Rod C: -

Step 1:
Rod A: 3 2 
Rod B: - 
Rod C: 1

Step 2:
Rod A: 3
Rod B: 2
Rod C: 1

...

Step 7:
Rod A: -
Rod B: - 
Rod C: 3 2 1

Puzzle solved in 7 steps!

Example for 3 disks

Tower of Hanoi

Source:

results matching ""

    No results matching ""