
Problema propusa de Eduard Lucas în 1883 ramane celebra,
Turnurile de Hanoi fiind o problemă clasica pentru
Divide et Impera.
Problema consta in mutarea discurilor pe tija 2 prin intermediul tijei 3, cu următoarele restrictii:
la fiecare mutare se deplaseaza un singur disc;
discurile se mută numai de pe o tijă pe alta;
un disc cu diametru mai mare nu poate fi asezat peste un disc cu diametru mai mic.
Pentru n = 1 , mutam discul pe ultima tije
Pentru n = 2 ,se fac mutarile 1 → 3, 1 → 2, 3 → 2.
In cazul in care n>3 problema se complica. Notam cu Hanoi(n,1,2,3) sirul mutarilor celor n discuri de pe tija 1 pe tija 2 , utilizand ca tija intermediara, tija 3.
Conform strategiei Divide et impera incercam sa descompunem problema in alte doua subprobleme de acelasi tip, urmand apoi combinarea solutiilor. In acest sens, observam ca mutarea celor n discuri de pe tija 1 pe tija 2,utilizand ca tija intermediara tija 3, este echivalenta cu:
mutarea a n-1 discuri de pe tija 1 pe tija 3 , utilizand ca tija intermediara tija 2;
mutarea discului ramas pe tija 1 pe tija 2;
mutarea a n-1 discuri de pe tija 3 pe tija 2 , utilizand ca tija intermediara tija 1.
Din cele de mai sus putem determina foarte usor relatia de recurenta si sa scriem un program care sa afiseze mutarile pe care trebuie sa le efectuam.
Încerc de ceva timp să rezolv problema pentru un numar variabil de tije,înca nu am reusit nimic.
Va rog,poate cineva sa ma ajute cu o idee ,un sfat...orice.
