# 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 Source: