Sunteți pe pagina 1din 1

Algoritmi: Algoritmul lui Euclid (CMMDC)

Algoritmul lui Euclid reprezintă o metodă eficientă de calculare a celui mai mare
divizor comun (CMMDC) a două numere întregi. Algoritmul bazat pe împărţire
(implementat în C++):
int cmmdc(int a, int b)
{
int t;
while (b != 0)
{
t = b;
b = a % b;
a = t;
}
return a;
}
Funcţia de mai sus returnează CMMDC al numerelor a şi b. Există şi versiunea bazată
pe scăderi repetate:
int cmmdc(int a, int b)
{
if(a == 0)
return b;
while(b != 0)
{
if(a > b) a -= b;
else b -= a;
}
return a;
}