Turnurile din Hanoi Problema turnurilor din Hanoi este o problemă-joc propusă de matematicianul francez Edouard Lucas, în 1883. El s-a inspirat din legenda unui templu hindus.
Legenda Atunci când lumea a fost creată, preoţilor dintr-un templu din Benares (India) le-au fost dăruite 3 ace de diamant şi 64 discuri de aur.
Preoţilor li s-a poruncit să depună pe acul din stânga toate discurile, în ordine descrescătoare a diametrelor, apoi să mute întregul turn astfel format pe acul din dreapta, folosind acul din mijloc ca intermediar, mutând câte un disc odată şi fără a pune un disc mai mare peste un disc mai mic. În conformitate cu legenda, Dumnezeu le-a zis oamenilor: ”Când veţi termina de mutat turnul, atunci lumea se va sfârşi !”
Timpul de lucru Dacă preoţii ar lucra zi şi noapte, făcând o mutare în fiecare secundă, le-ar lua mai mult de 580 miliarde de ani pentru a termina mutarea turnului format din cele 64 discuri. Pentru 64 discuri: 18. 446. 744. 073. 709. 551. 615 mutări 580. 000 ani
Turnurile din Hanoi A B C
Algoritm C/C++ #include<iostream. h> void hanoi(int n, char A, char B, char C) { if ( n==1 ) cout << A << B << " "; else { hanoi(n-1, A, C, B); cout << A << B << " "; hanoi(n-1, C, B, A); } } void main() { int n; cout << “Numarul de discuri, n= "; cin >> n; hanoi(n, 'A', 'B', 'C'); }