Guest User

Untitled

a guest
Aug 18th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.41 KB | None | 0 0
  1. def move(num_disks, start=0, target=2, using=1)
  2. if num_disks == 1
  3. @towers[target] << @towers[start].pop
  4. puts "Move disk from #{tower_name(start)} to #{tower_name(target)} : #{@towers}"
  5. else
  6. move(num_disks-1, start, using, target)
  7. move(1, start, target, using)
  8. move(num_disks-1, using, target, start)
  9. end
  10. end
  11.  
  12. n = 10
  13.  
  14. @towers = [[*1..n].reverse, [], []]
  15. puts "#{(2**n) - 1} moves"
  16. move(n)
Add Comment
Please, Sign In to add comment