„ În viață, nu există succes și nici eșec. Obții lucrul pe care îl programezi. ”
description
Transcript of „ În viață, nu există succes și nici eșec. Obții lucrul pe care îl programezi. ”
„ În viață, nu există succes și nici eșec. Obții lucrul pe care îl programezi. ” (Richard Israel )
Turnurile din Hanoi
În anul 1883, matematicianul francez Edouard Lucas a propus problema turnurilor din Hanoi, o problemă-joc inspirată din legenda unui templu hindus.
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 !”
Ce spune legenda ?
Formularea problemei
Se dau 3 turnuri A, B, C. Pe turnul A se găsesc n discuri de diametre diferite în ordine descrescătoare. Să se mute toate discurile pe turnul C folosind ca intermediar turnul B ştiind că se poate muta un singur disc de pe un turn pe altul doar peste un disc mai mare sau dacă turnul este liber.
A B C
Pentru n=3 discuri, se realizează următoarele mutări :
Pentru n=7 discuri :
A C B
Parcurgerea celor trei etape permite definirea recursivă a
şirului H (n, a, b, c) astfel:
1,,,,1,,,,,11,
,,,ndacaabcnHabcbanHndacaab
cbanH
Program Hanoi;Var a, b, c: char; n: integer;Procedure Han (n : integer ; a, b, c : char);
Begin if n = 1 then writeln (a,b)
else begin Han(n-1, a, c, b); writeln (a, b);
Han(n - 1, a, c, b); end;
End;Begin
Repeatwrite (‘n=’); readln(n);
Until n>0; Han(n,’ a’, ‘b’, ’c’);
Readln;End.
Programul Pascal
Puterea - modul de a afla numărul mutărilor
Numărul de discuri Numărul de mutări care trebuie efectuate
1 21 - 1 = 2 - 1 = 1
2 22 - 1 = 4 - 1 = 3 3 23 - 1 = 8 -
1 = 7 4 24 - 1 = 16 - 1 =
15 5 25 - 1 = 32 - 1 =
316 26 - 1 = 64 - 1 =
63
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. Interesant este că unii oameni de știință au estimat că aproximativ peste atâția ani, Sistemul Solar ar dispărea...
Știați că ...