Here's the question you clicked on:

55 members online
  • 0 replying
  • 0 viewing

kb9agt

  • 3 years ago

Hey kids, This lets you play test recursion at home without the Fisher Price Toys. He he! http://www.cs.cmu.edu/~cburch/survey/recurse/hanoi.html Have fun.

  • This Question is Open
  1. rsmith6559
    • 3 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    IMHO, reversing a string, testing for a palindrome and converting base 10 numbers to other bases are more understandable programs to learn recursion than the Towers of Hanoi or the Towers of Brahma.

  2. KevinT
    • 3 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    cool link, always looking for free resources

  3. kb9agt
    • 3 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    I agree that it's not the best example for recursion but is fun to play with. Something to try is this. def printMove(fr, to): global numCalls numCalls += 1 ## print('move from ' + str(fr) + ' to ' + str(to)) def Towers(n, fr, to, spare): if n == 1: printMove(fr, to) else: Towers(n-1, fr, spare, to) Towers(1, fr, to, spare) Towers(n-1, spare, to, fr) numCalls = 0 Towers(26, 'A', 'B', 'C') print numCalls notice I commented out the print in the printMove() function. This takes a little time to run but it gives you an idea of the complexity. Imagine how long it would take for 64 disks. Would I dare let it run that long? I don't know. Maybe some day. I would first want to put in some time start and time end markers.

  4. kb9agt
    • 3 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    For complexity I get 2^n-1. Is that about right?

  5. kb9agt
    • 3 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    For 64 disks then it would be 18446744073709551615 moves.

  6. Not the answer you are looking for?
    Search for more explanations.

    • Attachments:

Ask your own question

Sign Up
Find more explanations on OpenStudy
Privacy Policy