„ În viață, nu există succes și nici eșec. obții lucrul pe care îl programezi. ”

Post on 15-Feb-2016

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

„ În viață, nu există succes și nici eșec. Obții lucrul pe care îl programezi. ” (Richard Israel ). Turnurile din Hanoi. - PowerPoint PPT Presentation

TRANSCRIPT

„ Î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ă ...

top related