A classic CS (and interview) problem where you are asked to move rings of various sizes from the left tower through a middle tower to the rightmost one. The only constraints are you must move only one ring at a time and a ring cannot be moved on top of a smaller ring.
The instructions for the case where rings = 3 follows:
| step | left tower | middle tower | right tower |
|---|---|---|---|
| 1. Start | 123 | ||
| 2. L -> R | 23 | 1 | |
| 3. L -> M | 3 | 2 | 1 |
| 4. R -> M | 3 | 12 | |
| 5. L -> R | 12 | 3 | |
| 6. M -> L | 1 | 2 | 3 |
| 7. M -> R | 1 | 23 | |
| 8. L -> R | 123 |
Your task is to generalize this algorithm for the case where rings = n, a positive integer. Assume 3 towers.
