Guest User

Untitled

a guest
Mar 21st, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. julia> function hanoi(n, source, dest, spare)
  2. if n == 1
  3. println("Move disk 1 from rod $source to rod $dest")
  4. else n >= 2
  5. hanoi(n - 1, source, spare, dest)
  6. println("Move disk $n from rod $source to rod $dest")
  7. hanoi(n - 1, spare, dest, source)
  8. end
  9. end
  10. hanoi (generic function with 1 method)
  11.  
  12. julia> hanoi(3, "A", "B", "C")
  13. Move disk 1 from rod A to rod B # step 1, recurse
  14. Move disk 2 from rod A to rod C # step 2, recurse
  15. Move disk 1 from rod B to rod C # step 3, recurse
  16. Move disk 3 from rod A to rod B # base case, n == 1
  17. Move disk 1 from rod C to rod A # step 1, recurse
  18. Move disk 2 from rod C to rod B # step 2, recurse
  19. Move disk 1 from rod A to rod B # step 3, recurse
  20.  
  21. julia> hanoi(4, "A", "B", "C")
  22. Move disk 1 from rod A to rod C # step 1
  23. Move disk 2 from rod A to rod B # step 2
  24. Move disk 1 from rod C to rod B # step 3
  25. Move disk 3 from rod A to rod C # base case
  26. Move disk 1 from rod B to rod A # 1
  27. Move disk 2 from rod B to rod C # 2
  28. Move disk 1 from rod A to rod C # 3
  29. Move disk 4 from rod A to rod B # base case
  30. Move disk 1 from rod C to rod B # 1
  31. Move disk 2 from rod C to rod A # 2
  32. Move disk 1 from rod B to rod A # 3
  33. Move disk 3 from rod C to rod B # base case
  34. Move disk 1 from rod A to rod C # 1
  35. Move disk 2 from rod A to rod B # 2
  36. Move disk 1 from rod C to rod B # 3
Add Comment
Please, Sign In to add comment