Think of the function,
    hanoi :: Integer -> Peg -> Peg -> Peg -> [Move]

As printing the following moves:
  1. Move (n - 1) discs from peg1 to peg2 using peg3
  2. Move 1 disc from peg1 to peg3 using peg2
  3. Move (n - 1) discs from peg2 to peg3 using peg1
The main idea behind towers of hanoi is that you are constrained, and cannot move many discs at once. But using an intermediate peg, you can eventually move all discs to the target peg.

On 17 February 2015 at 17:53, Roelof Wobben <r.wobben@home.nl> wrote:
Joel Neely schreef op 17-2-2015 om 13:05:
​Let's tweak your answers​ just a bit, calling the three pegs the "source", "goal", and "spare" pegs:

On Tue, Feb 17, 2015 at 5:23 AM, Roelof Wobben <r.wobben@home.nl> wrote:
- Where do I move the bottom (largest disk) ?

To the last peg, which do not contain any disk then
​ .

From the source peg to the goal peg, which will
/must
 not contain any disks.​
 


- What must happen before I can move the bottom disk ?

I have to move the disk which above that disk.

Move everything else from source to sparel peg.​
 

- What must happen after I move the bottom disk ?

All the other disk must be placed above that disk.

​ Move everything else from spare  to goal.​
 

​So more questions/hints:
  1. How do you fill in the blanks?
  2. How do you put the three statements in order?
  3. How many disks does each statement talk about?

-jn-

1. I did already.
2.     First move everything except the bottom one to the spare peg.
        Move the bottom one to the goal peg.
        Move everything else from the spare peg to the goal peg.

3. Only 2

Roelof



_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners




--
Regards

Sumit Sahrawat