Question
C++ Towers of Hanoi. There is a story about Buddhist monks who are playing this puzzle with 64 stone disks. The story claims that when
C++
Towers of Hanoi.
There is a story about Buddhist monks who are playing this puzzle with 64 stone disks. The story claims that when the monks finish moving the disks from one post to a second via the third post, time will end. Eschatology (concerns about the end of time) and theology will be left to those better qualified; our interest is limited to the recursive solution to the problem.
A stack of n disks of decreasing size is placed on one of three posts. The task is to move the disks one at a time from the first post to the second. To do this, any disk can be moved from any post to any other post, subject to the rule that you can never place a larger disk over a smaller disk. The (spare) third post is provided to make the solution possible. Your task is to write a recursive function that describes instructions for a solution to this problem. We dont have graphics available, so you should output a sequence of instructions that will solve the problem.
Hint:
If you could move n-1 of the disks from the first post to the third post using the second post as a spare, the last disk could be moved from the first post to the second post.
Then by using the same technique (whatever that may be) you can move the n-1 disks from the third post to the second post, using the first disk as a spare. There! You have the puzzle solved. You only have to decide what the non-recursive case is, what the recursive case is, and when to output instructions to move the disks.
I am expecting to see the following sample output from a run of this program:
RUN 1:
TOWERS of Hanoi Enter a number of disks to play. I'll give necessary moves. 3 Move a disk from post A to post B Move a disk from post A to post C Move a disk from post B to post C Move a disk from post A to post B Move a disk from post C to post A Move a disk from post C to post B Move a disk from post A to post B
Process returned 0 (0x0) execution time : 4.788 s Press any key to continue.
------------------------------------------
RUN 2
TOWERS of Hanoi Enter a number of disks to play. I'll give necessary moves. 4 Move a disk from post A to post C Move a disk from post A to post B Move a disk from post C to post B Move a disk from post A to post C Move a disk from post B to post A Move a disk from post B to post C Move a disk from post A to post C Move a disk from post A to post B Move a disk from post C to post B Move a disk from post C to post A Move a disk from post B to post A Move a disk from post C to post B Move a disk from post A to post C Move a disk from post A to post B Move a disk from post C to post B
Process returned 0 (0x0) execution time : 7.769 s Press any key to continue.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started