Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- julia> function hanoi(n, source, dest, spare)
- if n == 1
- println("Move disk 1 from rod $source to rod $dest")
- else n >= 2
- hanoi(n - 1, source, spare, dest)
- println("Move disk $n from rod $source to rod $dest")
- hanoi(n - 1, spare, dest, source)
- end
- end
- hanoi (generic function with 1 method)
- julia> hanoi(3, "A", "B", "C")
- Move disk 1 from rod A to rod B # step 1, recurse
- Move disk 2 from rod A to rod C # step 2, recurse
- Move disk 1 from rod B to rod C # step 3, recurse
- Move disk 3 from rod A to rod B # base case, n == 1
- Move disk 1 from rod C to rod A # step 1, recurse
- Move disk 2 from rod C to rod B # step 2, recurse
- Move disk 1 from rod A to rod B # step 3, recurse
- julia> hanoi(4, "A", "B", "C")
- Move disk 1 from rod A to rod C # step 1
- Move disk 2 from rod A to rod B # step 2
- Move disk 1 from rod C to rod B # step 3
- Move disk 3 from rod A to rod C # base case
- Move disk 1 from rod B to rod A # 1
- Move disk 2 from rod B to rod C # 2
- Move disk 1 from rod A to rod C # 3
- Move disk 4 from rod A to rod B # base case
- Move disk 1 from rod C to rod B # 1
- Move disk 2 from rod C to rod A # 2
- Move disk 1 from rod B to rod A # 3
- Move disk 3 from rod C to rod B # base case
- Move disk 1 from rod A to rod C # 1
- Move disk 2 from rod A to rod B # 2
- Move disk 1 from rod C to rod B # 3
Add Comment
Please, Sign In to add comment