logo

Program pentru algoritmul Turnul din Hanoi

Turnul din Hanoi este un puzzle matematic în care avem trei tije ( A , B , și C ) și N discuri. Inițial, toate discurile sunt stivuite în valoare descrescătoare a diametrului, adică cel mai mic disc este plasat în partea de sus și sunt pe tijă. A . Obiectivul puzzle-ului este de a muta întregul teanc pe o altă tijă (aici luată în considerare C ), respectând următoarele reguli simple:

  • Numai un singur disc poate fi mutat la un moment dat.
  • Fiecare mișcare constă în luarea discului superior dintr-unul dintre stive și plasarea lui deasupra altei stive, adică un disc poate fi mutat numai dacă este discul cel mai sus dintr-o stivă.
  • Niciun disc nu poate fi plasat deasupra unui disc mai mic.

Exemple:



Intrare : 2
Ieșire: Discul 1 a fost mutat de la A la B
Discul 2 a fost mutat de la A la C
Discul 1 a fost mutat de la B la C

Intrare: 3
Ieșire: Discul 1 a fost mutat de la A la C
Discul 2 a fost mutat de la A la B
Discul 1 a fost mutat de la C la B
Discul 3 a fost mutat de la A la C
Discul 1 a fost mutat de la B la A
Discul 2 a fost mutat de la B la C
Discul 1 a fost mutat de la A la C

Următorul videoclip prezintă soluția Turnul din Hanoi pentru intrare (N) = 3 –



Test despre recursivitate