Speel. Voorspel. Begrijp.

Torens van Hanoi

Speel met 3–5 schijven, vraag een hint voor je huidige positie en leer de recursieve aanpak met twee korte animaties. Open wanneer nodig een voorbeeld met alle stappen.

Torens van Hanoi spelen
ABCSchijf 44Schijf 33Schijf 22Schijf 11

Zet de kleine stapel opzij om de grootste schijf vrij te maken.

Regels van de Torens van Hanoi

  1. Verplaats de hele stapel van paal A naar C.
  2. Verplaats één schijf per zet, altijd de bovenste.
  3. Leg nooit een grotere schijf op een kleinere.

Torens van Hanoi spelen

Kies de vertrekpaal en dan de doelpaal. De getallen geven de grootte aan: 1 is de kleinste. Draai een zet terug of begin opnieuw.

0 zetten
ABCSchijf 33Schijf 22Schijf 11

Kies de vertrekpaal en daarna het doel.

Hints gebruiken je huidige positie en verplaatsen geen schijven voor je. Een toegestane omweg blijft oplosbaar.

Zo los je de Torens van Hanoi op

Denk eerst aan de grootste schijf. In dit voorbeeld met vier schijven liggen drie kleine erboven. Los dat kleinere probleem op voordat je schijf 4 verplaatst.

  1. Zet de kleine stapel opzij

    Verplaats schijven 1, 2 en 3 van A naar B met C als hulppaal. Laat schijf 4 op A. C is nu vrij en schijf 4 ligt bovenaan.

    ABCSchijf 44Schijf 33Schijf 22Schijf 11
  2. Verplaats de grootste schijf

    Verplaats schijf 4 van A naar C. Deze zet brengt haar op de definitieve plek.

    ABCSchijf 44Schijf 33Schijf 22Schijf 11
  3. Breng de kleine stapel naar het doel

    Verplaats schijven 1, 2 en 3 van B naar C met A als hulppaal. Ze passen op schijf 4 en de puzzel is opgelost.

    ABCSchijf 44Schijf 33Schijf 22Schijf 11

Elke kleinere stapel gebruikt hetzelfde plan: haal de schijven boven de grootste weg, verplaats die grootste en zet de kleine stapel erop. Met één schijf verplaats je die direct. Dat is recursie; vertrek, doel en hulppaal wisselen bij elk deelprobleem.

Leren door het volgende doel te voorspellen

Deze aparte voorbeelden met vier schijven veranderen je spel niet. Pauzeer, bekijk één zet, beantwoord een voorspelling of toon de uitleg.

1. Maak de grootste schijf vrij

Zie hoe drie kleine schijven ruimte maken voor schijf 4. Voorspel waar ze moeten liggen voordat de grootste beweegt.

Apart voorbeeld met vier schijven

Doel: 3 schijven van A naar B, met C als hulppaal.

ABCSchijf 44Schijf 33Schijf 22Schijf 11

Maak eerst ruimte: verplaats de bovenste drie schijven van A naar B.

Stap 0 van 8

2. Herhaal het kleinere probleem

Schijf 4 ligt al op C. De rest is dezelfde puzzel met drie schijven en andere paalrollen.

Apart voorbeeld met vier schijven

Doel: 3 schijven van B naar C, met A als hulppaal.

ABCSchijf 44Schijf 33Schijf 22Schijf 11

Schijf 4 blijft op C. Los nu de drie schijven van B naar C op.

Waar gaat schijf 1 eerst heen als je drie schijven met A van B naar C brengt?

Stap 0 van 7

Oplossingen per stap

De voorbeelden beginnen met alle schijven op A en eindigen op C. Open ze meteen; je spelpositie blijft behouden.

Minimaal aantal zetten

T(n) = 2T(n − 1) + 1 = 2ⁿ − 1

De standaardoplossing verplaatst de kleine stapel tweemaal en de grootste schijf eenmaal: T(n) = 2T(n − 1) + 1. Eén schijf kost één zet, dus het minimum voor n schijven is 2ⁿ − 1.

3 schijven: 7 zetten. 4 schijven: 15 zetten. 5 schijven: 31 zetten.

3 schijven — 7 zetten

Begin: alle schijven op A. Doel: C. Schijf 1 is de kleinste.

  1. Verplaats schijf 1 van A naar C.
  2. Verplaats schijf 2 van A naar B.
  3. Verplaats schijf 1 van C naar B.
  4. Verplaats schijf 3 van A naar C.
  5. Verplaats schijf 1 van B naar A.
  6. Verplaats schijf 2 van B naar C.
  7. Verplaats schijf 1 van A naar C.
4 schijven — 15 zetten

Begin: alle schijven op A. Doel: C. Schijf 1 is de kleinste.

  1. Verplaats schijf 1 van A naar B.
  2. Verplaats schijf 2 van A naar C.
  3. Verplaats schijf 1 van B naar C.
  4. Verplaats schijf 3 van A naar B.
  5. Verplaats schijf 1 van C naar A.
  6. Verplaats schijf 2 van C naar B.
  7. Verplaats schijf 1 van A naar B.
  8. Verplaats schijf 4 van A naar C.
  9. Verplaats schijf 1 van B naar C.
  10. Verplaats schijf 2 van B naar A.
  11. Verplaats schijf 1 van C naar A.
  12. Verplaats schijf 3 van B naar C.
  13. Verplaats schijf 1 van A naar B.
  14. Verplaats schijf 2 van A naar C.
  15. Verplaats schijf 1 van B naar C.
5 schijven — 31 zetten

Begin: alle schijven op A. Doel: C. Schijf 1 is de kleinste.

  1. Verplaats schijf 1 van A naar C.
  2. Verplaats schijf 2 van A naar B.
  3. Verplaats schijf 1 van C naar B.
  4. Verplaats schijf 3 van A naar C.
  5. Verplaats schijf 1 van B naar A.
  6. Verplaats schijf 2 van B naar C.
  7. Verplaats schijf 1 van A naar C.
  8. Verplaats schijf 4 van A naar B.
  9. Verplaats schijf 1 van C naar B.
  10. Verplaats schijf 2 van C naar A.
  11. Verplaats schijf 1 van B naar A.
  12. Verplaats schijf 3 van C naar B.
  13. Verplaats schijf 1 van A naar C.
  14. Verplaats schijf 2 van A naar B.
  15. Verplaats schijf 1 van C naar B.
  16. Verplaats schijf 5 van A naar C.
  17. Verplaats schijf 1 van B naar A.
  18. Verplaats schijf 2 van B naar C.
  19. Verplaats schijf 1 van A naar C.
  20. Verplaats schijf 3 van B naar A.
  21. Verplaats schijf 1 van C naar B.
  22. Verplaats schijf 2 van C naar A.
  23. Verplaats schijf 1 van B naar A.
  24. Verplaats schijf 4 van B naar C.
  25. Verplaats schijf 1 van A naar C.
  26. Verplaats schijf 2 van A naar B.
  27. Verplaats schijf 1 van C naar B.
  28. Verplaats schijf 3 van A naar C.
  29. Verplaats schijf 1 van B naar A.
  30. Verplaats schijf 2 van B naar C.
  31. Verplaats schijf 1 van A naar C.

Wat als mijn positie anders is?

Elke positie met de juiste groottevolgorde kan C bereiken. Een herhaalde positie is een lus, geen doodlopend pad. De formule geldt voor het standaardbegin, niet voor resterende zetten vanuit elke willekeurige positie. Vraag een hint voor je huidige bord.

Puzzels →