Documente Academic
Documente Profesional
Documente Cultură
Fisa de documentare
Algoritmul lui Euclid cu diferenţe pentru determinarea c.m.md.c a două numere naturale a
şi b se bazează pe scăderi care se repetă într-un ciclu. La fiecare pas, se modifică prin aceste
scăderi, fie a,fie b. Dacă a>b se modifică a prin scăderea a←a-b, iar dacă a<b se modifică b
prin scăderea b←b-a. Când cele două numere a şi b au devenit egale se opreşte ciclul,
obţinându-se c.m.m.d.c. care este a (sau b). Deci ciclul se repetă cât timp a este diferit de b.
Obs: Algoritmul prezentat nu va funcţiona dacă cel puţin unul dintre numere este
negativ sau zero. Pentru a evita aceste două cazuri, poate fi pusă condiţia suplimentară
„(a>0) SI (b>0)”.
citeste a, b;
cat timp(a!=b) executa
daca (a>b)
atunci a←a-b
altfel b←b-a
scrie a
Exemplu: Fie a=15; b=6
Pas 1: a!=b ? 15!=6 ? da a>b ? 15>6 ? da=> a←a-b
=>a=15-6, a=9; Pas 2: a!=b ? 9!=6 ? da a>b ? 9>6 ?
da=> a←a-b =>a=9-6, a=3; Pas 3: a!=b ? 3!=6 ? da a>b
? 3>6 ? nu=> b←b-a =>b=6-3, b=3; Pas 4: a!=b ? 3!
=3 ? nu => iese din ciclu
c.m.m.d.c. (a,b) =a=b=3