Information

Deadline No deadline
Submission limit No limitation

Sign in

Extra


De Torens van Hanoi

De Torens van Hanoi is een spel met een aantal schijven. Het spel bestaat uit een plankje met daarop drie stokjes. Bij aanvang van het spel is op een van de stokjes een kegelvormige toren geplaatst van schijven met een gat in het midden. De schijven hebben verschillende diameters. Ze zijn zo geplaatst dat er geen grotere schijf op een kleinere schijf ligt.

Het doel van het spel is om de complete toren van schijven te verplaatsen naar een ander stokje, waarbij de volgende regels in acht genomen dienen te worden:

  • Er mag slechts 1 schijf tegelijk worden verplaatst.
  • Nooit mag een grotere schijf op een kleinere rusten.

De oplossing is recursief te beschrijven.

  • Met 1 schijf: breng de schijf van pin A naar pin C.
  • Met n + 1 schijven: los het probleem op door de bovenste n schijven naar pin B te brengen, met pin C als hulppin. Vervolgens wordt de n + 1-ste schijf naar pin C gebracht. Tot slot worden de eerste n schijven van pin B naar pin C gebracht, met pin A als hulppin.

Je schrijft m.a.w. een functie torensVanHanoi(n, van, naar, hulp) die volgende output geeft (via print).

>>> torensVanHanoi(2, ’A’, ’B’, ’C’)
Verplaats schijf 1 van A naar C
Verplaat schijf 2 van A naar B
Verplaats schijf 1 van C naar B
>>> torensVanHanoi(3, ’A’, ’B’, ’C’)
Verplaats schijf 1 van A naar B
Verplaat schijf 2 van A naar C
Verplaats schijf 1 van B naar C
Verplaat schijf 3 van A naar B
Verplaats schijf 1 van C naar A
Verplaat schijf 2 van C naar B
Verplaats schijf 1 van A naar B