Divide & Conquer

Tower of Hanoi

Recursively move a stack of disks between pegs using an auxiliary peg.

5 disks
31 total moves
ABC54321

Step 1 of 64

Tower of Hanoi with 5 disks. Move all disks from peg A to peg C using peg B as auxiliary. Minimum moves required: 31.

Moves0 / 31

Peg State

A
12345
B
empty
C
empty
Algorithm
Hanoi(n, from, to, via):
if n == 0: return
Hanoi(n−1, from, via, to)
move disk n: from → to
place disk n on peg to
Hanoi(n−1, via, to, from)
// complete

How It Works

To move n disks from A → C: move n−1 disks from A → B, move disk n to C, then move n−1 disks from B → C. This gives T(n) = 2n − 1 moves.

1 / 64Speed