Towers of Hanoigreenspun.com : LUSENET : Grundlæggende Programmering F2001 : One Thread |
Hej Jeg sidder lige og kigger lidt på towers of hanoi eksemplet i kapitel 11 i grundbogen. hvordan kan deres program sikre, at en større disk ikke bliver lagt ovenpå en mindre (det var jo forbudt ifølge oplægget)?? Det kan jeg ikke helt gennemskue (håber ikke du synes spørgsmålet er irrelevant) mvh Louise
-- Louise (louise@trolle.dk), March 15, 2001
Ideen i grundbogen er den samme som til forelæsningen (se definitionen af moveTower side 481 i bogen), nemlig: vi flytter numDisks fra "start" til "end" via "temp" ved at flytte numDisks - 1 fra "start" til "temp" via "end" -- herefter der kun een skive på "start" og der er ingen på "end", så vi kan flytte skiven fra "start" til "end" uden at overtræde reglerne om at vi ikke må lægge en større skive oven på en mindre. Nu har vi så numDisks - 1 skiver på "temp", og een skive (nemlig den største) på "end" og kan nu flytte numDisks - 1 skiver fra "temp" til "end" via "start" uden at overtræde reglerne (for alle de numDisks - 1 skiver er jo mindre end den største skive som ligger på "end"). Håber dette hjælper, -- Lars
-- Lars Birkedal (birkedal@it-c.dk), March 15, 2001.