Sunteți pe pagina 1din 21

Algoritmul lui Euclid

n matematic, algoritmul lui Euclid este o metod ecient de calcul al celui mai mare divizor comun (CMMDC). El este denumit dup matematicianul grec Euclid,
care l-a descris n Crile VII i X din Elementele.[1]

rul de cifre (n baz 10) al celui mai mic ntreg. Gabriel


Lam a demonstrat aceasta n 1844, marcnd nceputul
teoriei complexitii computaionale. n secolul al XXlea s-au dezvoltat metode de mbuntire ale ecienei
algoritmului.

CMMDC al dou numere este cel mai mare numr care le


divide pe ambele. Algoritmul lui Euclid exploateaz observaia c cel mai mare divizor comun al dou numere
nu se modic dac numrul cel mai mic este sczut din
cel mai mare. De exemplu, 21 este CMMDC al numerelor 252 i 105 (252 = 21 12; 105 = 21 5); ntruct 252
105 = 147, CMMDC al lui 147 i 105 este tot 21. Cum
cel mai mare dintre cele dou numere este redus, repetarea acestui proces d numere din ce n ce mai mici, pn
cnd unul dintre ele este 0. Cnd se ntmpl aceasta,
CMMDC este cellalt numr, cel nenul. Inversnd paii
algoritmului lui Euclid, CMMDC se poate exprima sub
form de suma celor dou numere iniiale, ecare nmulite cu un ntreg pozitiv sau negativ, de exemplu: 21 = 5
105 + (2) 252. Aceast proprietate important se
numete identitatea lui Bzout.

1 Bazele
1.1 Cel mai mare divizor comun
Algoritmul lui Euclid calculeaz cel mai mare divizor comun (CMMDC) al dou numere naturale a i b. Cel mai
mare divizor comun g este cel mai mare numr natural
care i divide pe a i pe b. Cel mai mare divizor comune este adesea scris ca CMMDC(a, b) sau, mai simplu,
ca (a, b),[2] dei a doua notaie matematic este utilizat i pentru alte concepte matematice, cum ar vectorii
bidimensionali sau intervalele deschise.
Dac CMMDC(a, b) = 1, atunci a i b sunt prime ntre
ele.[3] Aceast proprietate nu depinde de primalitatea lui a
i a lui b.[4] De exemplu, numerele 6 i 35 nu sunt numere
prime, deoarece ambele au doi factori: 6 = 2 3 i 35 = 5
7. Cu toate acestea, 6 i 35 sunt prime ntre ele. Niciun
alt numr natural n afar de 1 nu divide i pe 6 i pe 35,
deoarece ele nu au niciun factor prim n comun.

Prima descriere rmas a algoritmului lui Euclid este lucrarea lui Euclid intitulat Elementele (c. 300 .e.n.), ind
unul dintre cei mai vechi algoritmi numerici nc utilizai.
Algoritmul original a fost descris doar pentru numere naturale i lungimi geometrice (numere reale), dar algoritmul a fost generalizat n secolul al XIX-lea i la alte tipuri
de numere, cum ar ntregii Gaussieni i polinoamele de
o variabil. Aceasta a dus la noiuni moderne de algebr
abstract, cum ar inelele euclidiene. Algoritmul lui Euclid s-a generalizat i pentru alte structuri matematice,
cum ar nodurile i polinoamele multivariate.

Fie g = CMMDC(a, b). Cum a i b sunt multipli ai lui g,


ele pot scrise sub forma a = mg i b = ng, i nu exist
niciun numr mai mare G > g pentru care aceasta s e
adevrat. Numerele naturale m i n trebuie s e prime
ntre ele, deoarece orice factor comun poate scos din m
i n pentru a-l face pe g mai mare. Astfel, orice alt numr
c care divide i pe a i pe b trebuie s-l divid i pe g.
Cel mai mare divizor comun g al lui a i b poate denit
ca divizorul comun care este divizibil cu orice alt divizor
comun c.[5]

Algoritmul lui Euclid are numeroase aplicaii practice i


teoretice. Este un element cheie al algoritmului RSA, o
metod de criptare cu chei publice des folosit n comerul electronic. Este utilizat pentru a rezolva ecuaiile diofantice, cum ar calcularea numerelor care satisfac mai
multe congruene (Teorema chinezeasc a resturilor) sau
inversul multiplicativ al unui corp. Algoritmul lui Euclid
poate utilizat pentru a construi fracii continue, n metoda lanului Sturm pentru gsirea rdcinilor reale ale unui
polinom, i n mai muli algoritmi moderni de factorizare
a ntregilor. n ne, este o unealt de baz pentru demonstrarea unor teoreme din teoria modern a numerelor, cum ar teorema celor patru ptrate a lui Lagrange i
teorema fundamental a aritmeticii (factorizarea unic).

CMMDC poate vizualizat dup cum urmeaz.[6] Fie o


suprafa dreptunghiular a pe b, i orice divizor comun c
care divide pe a i pe b. Laturile dreptunghiului pot divizate n segmente de lungime c, ceea ce mparte dreptunghiul n ptrate de latur c. Cel mai mare divizor comun
g este cea mai mare valoare a lui c pentru care acest lucru
este posibil. Pentru ilustrare, o suprafa dreptunghiular
de 24-pe-60 se poate diviza n ptrate de: 1-pe-1, 2-pe-2,
Algoritmul lui Euclid calculeaz ecient CMMDC a dou 3-pe-3, 6-pe-6 sau 12-pe-12. Deci 12 este cel mai mare
numere orict de mari sunt, deoarece nu necesit nicio- divizor comun al lui 24 i 60. O suprafa dreptunghiudat un numr de pai mai mare dect de cinci ori num- lar 24-pe-60 poate mprit ntr-un grid de 12-pe-12
ptrate, cu dou ptrate pe o latur (24/12 = 2) i cinci
1

ptrate pe cealalt (60/12 = 5).


CMMDC al dou numere a i b se poate deni ca produsul factorilor primi comuni ai celor dou numere.[7] De
exemplu, ntruct 462 se factorizeaz n 2 3 7 11
i 1071 se factorizeaz n 3 3 7 17, cel mai mare
divizor comun al lui 462 i 1071 este egal cu 21 = 3
7, produsul factorilor lor primi comuni. Dac dou numere nu au factori primi n comun, cel mai mare divizor
comun al lor este 1ele sunt prime ntre ele. Un avantaj
important al algoritmului lui Euclid este c el poate gsi
CMMDC ecient fr s trebuiasc s calculeze factorii
primi.[8][9] Factorizarea numerelor ntregi mari este considerat a o problem att de dicil nct multe sisteme
criptograce moderne se bazeaz pe ea.[10]
O deniie mai subtil a CMMDC este util n matematica avansat, n particular n teoria inelelor.[11] Cel mai
mare divizor comun g al dou numere a i b este i cel
mai mic multiplu ntreg al lor, adic cel mai mic numr
de forma ua + vb unde u i v sunt numere ntregi. Rezult c mulimea multiplilor ntregi ai lui a i b (mulimea
numerelor de forma ua + vb) este aceeai cu mulimea
multiplilor ntregi ai lui g (mg, unde m este ntreg). n
limbajul matematic modern, Idealul format de a i b este
ideal principal generat de g. Echivalena acestei deniii
a CMMDC cu celelalte deniii este descris mai jos.

DESCRIERE

multe ecuaii asociate cu algoritmul lui Euclid sunt recursive. n ne, n coborrea innit,[18] o soluie dat n
numere naturale este utilizat pentru a construi o soluie cu numere naturale mai mici.[19] Soluiile, ns, nu se
pot micora nelimitat, deoarece exist un numr nit de
numere naturale mai mici ca numerele naturale iniiale.
Astfel, e soluia original era imposibil, e construcia unor soluii mai mici trebuie s se termine. Acest din
urm argument este folosit pentru a arta c algoritmul
lui Euclid pentru numere naturale trebuie s se termine
ntr-un numr nit de pai.[20]

2 Descriere
2.1 Procedur
Algoritmul lui Euclid este iterativ, adic rspunsul se gsete dup un numr de pai; rezultatul ecrui pas este
utilizat ca punct de nceput pentru pasul urmtor.[21] Fie
k un ntreg care numr paii algoritmului, ncepnd cu
zero. Astfel, pasul iniial corespunde lui k = 0, pasul urmtor corespunde lui k = 1, i aa mai departe.

Fiecare pas ncepe cu dou resturi nenegative rk i rk.


ntruct algoritmul asigur c resturile scad la ecare pas,
CMMDC al trei sau mai multe numere este egal cu rk este mai mic dect predecesorul sau rk. Scopul paprodusul factorilor primi comuni ai tuturor celor trei sului k este gsirea ctului qk i a restului rk astfel nct
numere,[12] care poate calculat lund CMMDC pe pe- s e satisfcut ecuaia:
rechi de numere.[13] De exemplu,
rk = qk rk + rk
CMMDC(a, b, c) = CMMDC(a, CMMDC(b,
c)) = CMMDC(CMMDC(a, b), c) = CMMDC(CMMDC(a, c), b).

unde rk < rk. Cu alte cuvinte, multiplii celui mai mic


numr rk sunt sczui din numrul mai mare rk pn
cnd restul este mai mic dect rk.

Astfel, algoritmul lui Euclid care calculeaz CMMDC al n pasul iniial (k = 0), resturile r i r sunt chiar a i b,
doi ntregi este sucient pentru a calcula CMMDC al ori- numerele al cror CMMDC este cutat. n pasul urmtor
(k = 1), resturile sunt b i restul r0 al pasului iniial, i aa
ct de muli ntregi.
mai departe. Astfel, algoritmul poate scris ca o secven
de ecuaii

1.2

Inducie, recursivitate i coborre innit

Trei metode matematice sunt utilizate mai jos: inducia,


recursivitatea i coborrea innit. Inducia[14] este utilizat adesea pentru a demonstra o teorem pentru toate
numerele naturale n.[15] Aceast abordare ncepe prin a
arta c, dac teorema este valabil pentru n, ea este valabil i pentru n + 1. Astfel, dac teorema este valabil
pentru un singur caz (de regul, n = 1), ea este valabil
pentru toate numerele mai mari (n = 2, 3, etc.). Recursivitatea unei ecuaii[16] este proprietatea ei de a lega numerele ce formeaz un ir a1 , a2 , a3 , etc.[17] Al n-lea termen
al irului, an, este adesea exprimat n funcie de ali termeni ai irului, cum ar an. De exemplu, numerele
Fibonacci sunt denite recursiv; ecare termen este suma celor doi termeni precedeni: Fn = Fn + Fn. Mai

a = q0 b + r0
b = q1 r0 + r1
r0 = q2 r1 + r2
r1 = q3 r2 + r3

Dac a este mai mic dect b, primul pas al algoritmului


schimb numerele ntre ele. De exemplu, dac a < b, ctul
iniial q0 este zero, iar restul r0 este a. Astfel, rk este mai
mic dect predecesorul su rk pentru orice k 0.
ntruct resturile scad la ecare pas dar nu pot niciodat negative, un rest rN trebuie n cele din urm s e
zero, moment n care algoritmul se oprete.[20] Ultimul
rest nenul rN este cel mai mare divizor comun al lui a

2.4

Vizualizare

i b. Numrul N nu poate innit deoarece exist doar


1071 = 2 462 + 147.
un numr nit de numere nenegative ntregi ntre restul
iniial r0 i zero.
Apoi multiplii lui 147 sunt sczui din 462 pn cnd restul este mai mic dect 147. Trei multipli se pot scdea (q1
= 3) i rmne restul 21

2.2

Demonstraia corectitudinii

Corectitudinea algoritmului lui Euclid se poate demonstra


n doi pai.[21] La primul pas, se arat c ultimul rest nenul
rN divide att pe a ct i pe b. Cum este divizor comun,
el trebuie s e mai mic sau egal cu cel mai mare divizor
comun g. n al doilea pas, se arat c orice divizor comun
al lui a i b, inclusiv g, trebuie s-l divid pe rN; deci,
g trebuie s e mai mic sau egal cu rN. Aceste dou
concluzii sunt inconsistente doar dac rN nu este egal
cu g.

462 = 3 147 + 21.


Apoi se scad multiplii lui 21 din 147 pn cnd restul este
mai mic dect 21. Se pot scdea apte multipli (q2 = 7)
i nu rmne niciun rest
147 = 7 21 + 0.

Cum ultimul rest este zero, algoritmul se termin cu 21 ca


Pentru a demonstra c rN divide i pe a i pe b (primul cel mai mare divizor comun al lui 1071 i 462. Rezultatul
este n concordan cu CMMDC(1071, 462) gsit prin
pas), rN divide predecesorul su rN
factorizarea efectuat mai sus. n form tabelar, paii
sunt:
rN = qN rN

ntruct ultimul rest rN este zero. rN divide i pe urmtorul su predecesor rN


rN = qN rN + rN
deoarece el divide ambii termeni ai prii drepte a ecuaiei. Iternd acelai argument, rN divide toate celelalte
resturi, inclusiv pe a i pe b. Niciunul din resturile anterioare rN, rN, etc. nu divid pe a i pe b, deoarece toate
las un rest nenul. Cum rN este un divizor comun al lui
a i b, rN g.

2.4 Vizualizare
Algoritmul lui Euclid poate vizualizat n termenii analogiei ptratelor dat mai sus pentru cel mai mare divizor comun.[24] Se presupune c se dorete acoperirea unui
dreptunghi a-pe-b cu ptrate care s-l acopere exact, unde a este cel mai mare dintre cele dou numere. nti,
se ncearc mprirea dreptunghiului n ptrate b-pe-b;
aceasta las, ns, un dreptunghi rezidual r0 -pe-b neacoperit, unde r0 <b. Atunci se ncearc mprirea dreptunghiului rezidual cu ptrate r0 -pe-r0 . Rmne un al doilea dreptunghi rezidual r1 -pe-r0 , pe care se ncearc s
e acoperit cu ptrate r1 -pe-r1 , i aa mai departe. irul
acesta se termin atunci cnd nu mai rmne niciun dreptunghi rezidual, adic atunci cnd ptratele acoper exact
dreptunghiul rezidual. Lungimea laturilor celui mai mic
ptrat este CMMDC al dimensiunilor dreptunghiului original. De exemplu, cel mai mic ptrat din gura alturat
este 21-pe-21 (cu rou), iar 21 este CMMDC de 1071 i
462, dimensiunile dreptunghiului original (verde).

n al doilea pas, orice numr natural c care divide pe a


i pe b (cu alte cuvinte, orice divizor comun al lui a i b)
divide resturile rk. Prin deniie, a i b pot scrise ca
multipli de c: a = mc i b = nc, unde m i n sunt numere
naturale. Deci c divide restul iniial r0 , ntruct r0 = a
q0 b = mc q0 nc = (m q0 n)c. O demonstraie analog
arat c c divide i celelalte resturi r1 , r2 , etc. Deci cel
mai mare divizor comun g divide rN, de unde rezult c
g rN. ntruct n prima parte a demonstraiei s-a artat c (rN g), rezult c g = rN. Deci g este cel mai
2.5
mare divizor comun al tuturor perechilor succesive:[22][23]
g = CMMDC(a, b) = CMMDC(b, r0 ) = CMMDC(r0 , r1 ) = = CMMDC(rN, rN) =
rN

Calculul cturilor i resturilor

La ecare pas k, algoritmul lui Euclid calculeaz un ct


qk i un rest rk ale dou numere rk i rk
rk = qk rk + rk

unde modulul lui rk este strict mai mic dect cel al lui rk.
Teorema mpririi cu rest asigur c exist ntotdeauna
Pentru ilustrare, algoritmul lui Euclid se poate utiliza pen- acest ct i acest rest. Teorema mpririi cu rest a numetru a gsi cel mai mare divizor comun al lui a = 1071 i relor naturale spune i c qk i rk sunt unice, dar unicita[25]
b = 462. Pentru nceput, multiplii lui 462 sunt sczui tea lor nu este necesar pentru algoritmul lui Euclid.
din 1071 pn rmne un rest mai mic dect 462. Se pot n versiunea original dat de Euclid pentru acest algoscdea doi astfel de multipli (q0 = 2), lsnd numrul 147 ritm, ctul i restul se gsesc prin scdere repetat; adic

2.3

Exemplu

3 ISTORIC

rk este sczut din rk repetat pn cnd restul rk este tat este mai mic n modul dect restul pozitiv tipic.[29][30]
mai mic dect rk. O abordare mai ecient utilizeaz Anterior, ecuaia
mprirea numerelor ntregi i operaia modulo pentru a
calcula respectiv ctul i restul. Operaia modulo d resrk = qk rk + rk
tul mpririi a dou numere; astfel,
presupunea c rk > rk > 0. Se poate, nsa, calcula i un
rk rk mod rk
alt rest negativ ek
Restul este echivalent cu clasa de congruen din
aritmetica modular.

rk = (qk + 1) rk + ek

unde rk este presupus pozitiv. Dac |ek| < |rk|, atunci rk


este nlocuit de ek. Dup cum a artat Leopold Kronecker, aceast versiune necesit cel mai mic numr de pai
[29][30]
Implementrile algoritmului se pot exprima n dintre toate versiunile algoritmului lui Euclid.
pseudocod. De exemplu, versiunea bazat pe mprire trebuie s e programat ca[26]

2.6

Implementri

function CMMDC(a, b) while b 0 t := b b := a mod b


a := t return a

3 Istoric

Algoritmul lui Euclid este unul dintre cei mai vechi algoritmi nc n uz.[31] El apare n Elemente (c. 300 .e.n.),
anume n Cartea 7 (Propunerile 12) i n Cartea 10 (Propunerile 23). n Cartea 7, algoritmul este formulat pentru ntregi, pe cnd n Cartea 10, el este formulat pentru
lungimi de segmente de dreapt. (n uz modern, s-ar spune c a fost formulat pentru numere reale. Dar lungimile, ariile i volumele, reprezentate ca numere reale n uz
n versiunea pe baz de scdere, denit de Euclid, cal- modern, nu se msoar n aceleai uniti i nu exist o
culul restului (b = a mod b) este nlocuit cu scderea unitate natural de lungime, arie sau volum, iar conceptul
de numere reale nu era cunoscut la acea vreme.) Al doirepetat.[27]
lea algoritm este geometric. CMMDC al dou lungimi a
function CMMDC(a, b) if a = 0 return b while b 0 if
i b corespunde celei mai mari lungimi g care msoar a
a > b a := a b else b := b a return a
i b exact; cu alte cuvinte, lungimile a i b sunt ambele
Variabilele a i b rein alternativ resturile anterioare rk multipli ntregi ai lungimii g.
i rk. Se presupune c a este mai mare ca b la nceputul
Algoritmul nu a fost, probabil, descoperit de Euclid, caunei iteraii; atunci a este egal cu rk, indc rk > rk.
re doar a compilat rezultate ale matematicienilor dinainPe parcursul acestei bucle, a este redus cu multipli ai restea sa n lucrarea Elemente.[32][33] Matematicianul i istului anterior b pn cnd a este mai mic ca b. Atunci a
toricul B. L. van der Waerden sugereaz c Cartea VII
este urmtorul rest rk. Atunci b este redus cu multipli ai
deriv dintr-un manual de teoria numerelor scris de malui a pn cnd este mai mic dect a, dnd urmtorul rest
tematicieni ai colii lui Pitagora.[34] Algoritmul a fost
rk, i aa mai departe.
probabil cunoscut lui Eudoxus din Cnidus (circa 375
Versiunea recursiv[28] se bazeaz pe egalitatea CM- .e.n.)[31][35] Algoritmul ar putea dinainte chiar i de
MDC al resturilor succesive i pe condiia de oprire CM- Eudoxus,[36][37] judecnd dup utilizarea termenului tehMDC(rN, 0) = rN.
nic (anthyphairesis, scdere reciproc)
[38]
function CMMDC(a, b) if b = 0 return a else return din lucrrile lui Euclid i Aristotel.
La neputul iteraiei k, variabila b deine ultimul rest rk,
iar variabila a deine predecesorul acesteia, rk. Pasul b
:= a mod b este echivalent cu formula recursiv de mai
sus rk rk mod rk. Variabila t reine valoarea lui rk
n timp ce se calculeaz urmtorul rest rk. La sfritul
acestei bucle de iteraii, variabila b va pstra restul rk, iar
variabila a va reine predecesorul, rk.

CMMDC(b, a mod b)
Pentru ilustrare, se calculeaz CMMDC(1071, 462)
din CMMDC(462, 1071 mod 462) = CMMDC(462,
147). Acest al doilea CMMDC se calculeaz din CMMDC(147, 462 mod 147) = CMMDC(147, 21), care la
rndul su se calculeaz din CMMDC(21, 147 mod 21)
= CMMDC(21, 0) = 21.

2.7

Metoda celor mai mici resturi absolute

ntr-o alt versiune a algoritmului lui Euclid, ctul de la


ecare pas este crescut cu unu dac restul negativ rezul-

Dup mai multe secole, algoritmul lui Euclid a fost descoperit independent n India i n China,[39] i a fost utilizat mai ales pentru rezolvarea de ecuaii diofantice care
apar n astronomie i la realizarea de calendare precise.
Spre sfritul secolului al V-lea, matematicianul i astronomul indian Aryabhata a descris algoritmul sub numele
de pulverizatorul,[40] poate din cauza ecienei sale n
rezolvarea de ecuaiilor diofantice.[41] Dei un caz special al teoremei chinezeti a resturilor fusese deja descris
de matematicianul i astronomul chinez Sun Tzu,[42] soluia general a fost publicat de Qin Jiushao n cartea sa
din 1247 intitulat Shushu Jiuzhang (
Tratat matematic n nou seciuni).[43] Algoritmul lui Euclid a fost

5
descris n Europa pentru prima dat n a doua ediie a lucrrii lui Bachet Problmes plaisants et dlectables (Probleme plcute i delectabile, 1624).[40] n Europa, a fost
folosit tot pentru rezolvarea de ecuaii diofantice, dar i
la construcia fraciilor continue. Algoritmul lui Euclid
extins a fost publicat de matematicianul englez Nicholas
Saunderson, care i l-a atribuit lui Roger Cotes ca metod
de calcul ecient a fraciilor continue.[44]

4 Aplicaii matematice

n 1969, Cole i Davie au dezvoltat un joc n doi pe baza


algoritmului lui Euclid, joc intitulat Jocul lui Euclid,[54]
care are o strategie optim.[55] Juctorii ncep cu dou
grmezi de pietre a i b. Juctorii elimin pe rnd m multipli ai celei mai mici grmezi din cea mai mare. Astfel,
daca cele dou grmezi au x respectiv y pietre, unde x este
mai mare ca y, urmtorul juctor poate reduce grmada
mai mare de la x pietre la x my pietre, atta vreme ct
al doilea este un numr nenegativ. Ctig primul juctor
care reduce una dintre grmezi la zero pietre.[56][57]

tuturor numerelor de forma ua + vb, unde u i v sunt orice


dou numere ntregi. Cum a i b sunt ambele divizibile cu g, toate numerele din mulime sunt divizibile cu g.
Cu alte cuvinte, toate numerele din aceast mulime sunt
multipli ntregi ai lui g. Acest lucru este adevrat pentru
orice divizor comun al lui a i b. Spre deosebire de ali
divizori comuni, ns, cel mai mare divizor comun este
i el membru al mulimii; din identitatea lui Bzout, alegnd u = s i v = t rezult g. Un divizor comun mai mic
nu poate membru al mulimii, deoarece toate elementele mulimii trebuie s e divizibile cu g. Invers, orice

4.1 Identitatea lui Bzout

Identitatea lui Bzout spune c cel mai mare divizor comun g al dou numere ntregi a i b se poate reprezenta
sub form de combinaie liniar a primelor dou numere
a i b.[58] Cu alte cuvinte, ntotdeauna exist dou numere
n secolul al XIX-lea, algoritmul lui Euclid a dus la ntregi s i t astfel nct g = sa + tb.[59][60]
dezvoltarea unor noi sisteme de numere, cum ar ntregii
ntregii s i t pot calculai pe baza cturilor q0 , q1 etc.
gaussieni i ntregii eisensteinieni. n 1815, Carl Gauss a
inversnd ordinea ecuaiilor din algoritmul lui Euclid.[61]
utilizat algoritmul lui Euclid pentru a demonstra factorincepnd cu penultima ecuaie, g poate exprimat n terzarea unic a ntregilor gaussieni, dei lucrarea sa a fost
meni de ctul qN i de cele dou resturi anterioare, rN
publicat pentru prima oar n 1832.[45] Gauss a menioand rN.
nat algoritmul n Disquisitiones Arithmeticae (publicat la
1801), dar numai ca metod pentru fraciile continue.[39]
g = rN = rN qN rN
Peter Dirichlet pare a fost primul care a descris algorit[46]
mul lui Euclid ca baz pentru teoria numerelor. Dirichlet a observat c multe din rezultatele teoriei numere- Acele dou resturi pot , de asemenea, exprimate n terlor, cum ar unicitatea factorizrii, sunt adevrate pentru meni de cturile corespunztoare lor i de resturile antetoate celelalte sisteme de numere n care se poate aplica rioare,
algoritmul lui Euclid.[47] Cursurile lui Dirichlet pe tema
rN = rN qN rN
teoriei numerelor au fost editate i extinse de Richard Dedekind, care a utilizat algoritmul lui Euclid pentru a studia
rN = rN qN rN
ntregii algebrici, un tip general de numere. De exemplu,
Dedekind a fost primul care a demonstrat teorema celor nlocuind aceste formule pentru rN i rN n prima
dou ptrate a lui Fermat folosind factorizarea unic a n- ecuaie rezult g sub form de combinaie liniar a restregilor gaussieni.[48] Dedekind a denit i conceptul de turilor rN i rN. Procesul de substituie a resturilor
domeniu euclidian, un sistem numeric n care se poate de- din formulele ce implic predecesoarele lor se poate conni o versiune generalizat a algoritmului lui Euclid. n tinua pn cnd se ajunge la numerele originale a i b
ultimele decenii ale secolului al XIX-lea, ns, algoritmul
lui Euclid a fost treptat eclipsat de teoria mai general a
r 2 = r 0 q2 r 1
lui Dedekind despre idealuri.[49]
r1 = b q1 r0
n secolul al XIX-lea au fost dezvoltate i alte aplicaii
r0 = a q0 b
ale algoritmului lui Euclid. n 1829, Charles Sturm a
artat c algoritmul este util n metoda lanurilor Sturm
de numrare a rdcinilor reale dintr-un interval dat ale Dup ce toate resturile r0 , r1 etc. au fost substituite, ultima ecuaie l exprim pe g sub forma unei combinaii
polinoamelor.[50]
liniare de a i b: g = sa + tb. Identitatea lui Bzout, i
Algoritmul lui Euclid a fost prima metod de descodeci i algoritmul anterior, poate generalizat la conperire a relaiilor ntre numere ntregi de acelai ortextul domeniilor euclidiene.
din de mrime. n ultimii ani, s-au mai dezvoltat civa ali algoritmi noi legai de relaiile ntre ntregi,
ca de exemplu algoritmul FergusonForcade (1979) al 4.2 Idealuri principale
lui Helaman Ferguson i R.W. Forcade,[51] i algoritmii
asociai, algoritmul LLL, algoritmul HJLS i algoritmul Identitatea lui Bzout d o alt deniie a celui mai mare
PSLQ.[52][53]
divizor comun g al dou numere a i b.[11] Fie mulimea

APLICAII MATEMATICE

multiplu m al lui g poate obinut alegnd u = ms i v ntruct formula de recuren este considerat corect
= mt, unde s i t sunt ntregii din identitatea lui Bzout. pentru rk i rk, ele pot exprimate n funcie de variAceasta se poate vedea nmulind identitatea lui Bzout abilele corespunztoare s i t
cu m
rk = (sk a + tk b) qk(sk a + tk b)
mg = msa + mtb
Rearanjnd aceast ecuaie, rezult formula de recuren
Astfel, mulimea tuturor numerelor ua + vb este echiva- pentru pasul k
lent cu mulimea multiplilor m ai lui g. Cu alte cuvinte,
mulimea tuturor sumelor posibile de multipli ntregi ai
rk = sk a + tk b = (sk qksk) a + (tk
dou numere (a i b) este echivalent cu mulimea mulqktk) b
tiplilor lui CMMDC(a, b). CMMDC se spune c este
generator al idealului lui a i b. Aceaat deniie pentru
CMMDC a dus la unele concepte moderne din algebra 4.4 Metoda matriceal
abstract, cum ar cel de ideal principal (un ideal generat de un singur element) i de domeniu de ideal principal ntregii s i t pot gsii i folosind o metod echivalent
bazat pe matrice.[64] Secvena de ecuaii a algoritmului
(un domeniu n care toate idealurile sunt principale).
lui
Euclid
Unele probleme se pot rezolva cu acest rezultat.[62] De
exemplu, e dou ceti de msurare de volum a respectiv
a = q0 b + r0
b. Adugnd sau scznd u multipli ai primei ceti i v
multipli ai celei de-a doua ceti, poate msurat orice
b = q1 r0 + r1
volum ua + vb. Aceste volume sunt toate multipli ai lui g

= CMMDC(a, b).
rN = qN rN + 0

4.3

Algoritmul lui Euclid extins

se poate scrie ca produs al matricilor cturilor 2-pe-2 nmulite cu un vector bidimensional al resturilor

ntregii s i t din identitatea lui Bzout se pot calcula


ecient utiliznd algoritmul lui Euclid extins. Aceast extensie adaug algoritmului lui Euclid dou ecuaii (a) (q
= 0
recursive[63]
b
1
sk = sk qksk

)( ) (
1
b
q
= 0
0 r0
1

)(
1 q1
0
1

)( )
N (

1 r0
qi
= =
0 r1
1
i=0

)
1
0

Fie M produsul tuturor matricelorct

tk = tk qktk
cu valorile de nceput
s = 1, t = 0

(
m11
M=
m21

m12
m22

)
=

N (

qi
i=0

) (
1
q
= 0
0
1

1
0

)(
q1
1

Aceasta simplic algoritmul lui Euclid la forma

s = 0, t = 1
Cu ajutorul acestei relaii de recuren, ntregii lui Bzout
s i t sunt dai de s = sN i t = tN, unde N este pasul la
care algoritmul se termin cu rN = 0.
Validitatea acestei abordri se poate demonstra prin inducie. Se presupune c formula recursiv este corect
pn la pasul k1 al algoritmului, cu alte cuvinte, se presupune c
rj = sj a + tj b

( )
(
)
( )
a
rN 1
g
=M
=M
b
0
0
Pentru a exprima pe g sub form de combinaie liniar de
a i b, ambele pri ale acestei ecuaii pot nmulite cu
inversa matricei M.[64][65] Determinantul lui M este egal
cu (1)N+1 , deoarece este egal cu produsul determinanilor matricelorct, care sunt egale cu minus unu. ntruct
determinantul lui M nu este niciodat zero, vectorul nal
de resturi se poate rezolva gsind inversa lui M

( )
(
pentru orice j mai mic dect k. Al k-lea pas al algoritmu- ( )
g
a
m22
lui d ecuaia
= M1
= (1)N +1
0
b
m21
rk = rk qkrk

Deoarece ecuaia de sus d

m12
m11

)( )
a
b

)
(
1
q
N
0
1

)
1
0

4.7

Inversul multiplicativ i algoritmul RSA


g = (1)N+1 ( m22 a m12 b)

7
ecuaie diofantic liniar tipic n variabilele ntregi x i
y are forma[70]

cei doi ntregi ai identitii lui Bzout sunt s = (1)N+1 m22


i t = (1)N m12 . Metoda matricei este la fel de ecient
ax + by = c
ca i cea a formulei de recuren, cu dou nmuliri i dou
adunri la ecare pas al algoritmului lui Euclid.
unde a, b i c sunt numere ntregi date. Aceasta se poate
scrie ca o ecuaie n x de forma:

4.5

Lema lui Euclid i unicitatea factorizrii

Identitatea lui Bzout este esenial pentru multe aplicaii


ale algoritmului lui Euclid, cum ar demonstrarea unicitii descompunerii numerelor n factori primi.[66] Pentru
a ilustra aceasta, se presupune c un numr L poate scris
ca produs de doi factori u i v, adic L = uv. Dac un alt
numr w l divide i el pe L dar este prim cu u, atunci nseamn c w l divide pe v, pentru c, dac cel mai mare
divizor comun al lui u i w este 1, atunci se pot gsi doi
ntregi s i t astfel nct
1 = su + tw

ax c mod b.
Fie g cel mai mare divizor comun al lui a i b. Ambii
termeni din ecuaia ax + by sunt divizibili cu g; deci, e
c este divizibil cu g, e ecuaia nu are soluii. mprind
ambele pri ale ecuaiei la c/g, ea poate redus la identitatea lui Bezout
sa + tb = g
unde s i t se pot gsi prin algoritmul lui Euclid extins.[71]
Aceasta mai d o soluie a ecuaiei diofantice, x1 = s (c/g)
i y1 = t (c/g).

conform identitii lui Bzout. nmulind ambele pri ale n general, o ecuaie diofantic liniar e nu are soluie,
e are un numr innit de soluii.[72] Pentru a demonstra
ecuaiei cu v rezult relaia
cel de-al doilea caz, se consider dou soluii, (x1 , y1 ) i
(x2 , y2 )
v = suv + twv = sL + twv
ax1 + by1 = c = ax2 + by2
Cum w divide ambii termeni din partea dreapt, nseamn c el divide i termenul din stnga, v. Acest rezultat
este cunoscut sub numele de lema lui Euclid:[67] Dac un sau echivalent
numr prim divide pe L, atunci el divide cel puin unul
din factorii lui L. La fel, dac un numr w este prim cu
a(x1 x2 ) = b(y2 y1 ).
mai multe numere a1 , a2 , , an, atunci w este prime i
cu produsul lor, a1 a2 an.[67]
Astfel, cea mai mic diferen ntre dou soluii x este b/g,
Lema lui Euclid este sucient pentru a demonstra c toa- pe cnd cea mai mic diferen ntre dou soluii y este
te numerele au o unic descompunere n factori primi.[68] a/g. Astfel, soluiile pot exprimate ca
Dac se presupune contrariul, i anume c exist dou
factorizri independente ale lui L n m respectiv n factori
x = x1 bt/g
primi
y = y1 + at/g.
L = p1 p2 pm = q1 q2 qn
ntruct toate numerele prime p divid pe L conform presupunerii, atunci ecare dintre ele divide unul dintre factorii q; ntruct ecare q este i el prim, atunci nseamn
c p = q. mprind iterativ la factorii p rezult c ecare p are un corespondent q; cele dou descompuneri n
factori primi sunt identice cu excepia ordinii factorilor.
Factorizarea unic a numerelor n factori primi are mai
multe aplicaii n demonstraiile matematice.

4.6

Ecuaiile liniare diofantice

Permind lui t s varieze pe toat mulimea numerelor


ntregi, se poate genera o familie innit de soluii dintruna singur (x1 , y1 ). Dac soluiile trebuie s e ntregi
pozitivi (x > 0, y > 0), este posibil s existe doar un numr nit de soluii. Aceast restricie asupra soluiilor
acceptabile permite rezolvarea de sisteme de ecuaii diofantice cu un numr de ecuaii mai mare dect cel de
necunoscute;[73] aceasta este imposibil pentru un sistem
de ecuaii liniare ale crui soluii pot orice numr real.

4.7 Inversul multiplicativ i algoritmul


RSA

Ecuaiile diofantice sunt ecuaii ale cror soluii sunt neaprat numere ntregi; ele i trag numele de la matemati- Un corp nit este o mulime de numere cu patru operacianul alexandrin din secolul al III-lea Diophantus.[69] O ii generice. Aceste operaii se numesc adunare, scdere,

nmulire i mprire i au proprietile obinuite, cum


ar comutativitatea, asociativitatea i distributivitatea.
Un exemplu de corp nit este mulimea de 13 numere {0, 1, 2, , 12} cu aritmetica modular. n
acest corp, rezultatele oricrei operaii matematice (adunare/scdere/nmulire/mprire) se reduce modulo 13;
adic din rezultat se scad multipli ai lui 13 pn cnd rezultatul ajunge s e ntre 012. De exemplu, rezultatul
operaiei 5 7 = 35 mod 13 = 9. Asemenea corpuri nite
pot denite pentru orice numr prim p; utiliznd deniii mai sosticate, se pot deni pentru orice putere m a
unui numr prim p m . Corpurile nite sunt adesea numite
corpuri Galois, i sunt notate cu GF(p) sau GF(p m ).

APLICAII MATEMATICE

Mi = M / mi
Astfel, ecare Mi este produsul tuturor modulelor cu excepia lui mi. Soluia depinde de girea a N noi numere
hi astfel nct
Mihi 1 mod mi
Cu aceste numere hi, orice ntreg x se poate reconstitui
din resturile xi prin ecuaia
x (x1 M 1 h1 + x2 M 2 h2 + + xNMNhN )
mod M

ntr-un astfel de corp cu m numere, ecare element nenul Deoarece aceste numere hi sunt inversele multiplicative
a are un invers multiplicativ unic modulo m, a1 astfel ale numerelor Mi, ele se pot gsi folosind algoritmul lui
nct aa1 = a1 a 1 mod m. Acest invers se poate gsi Euclid aa cum s-a artat n subseciunea anterioar.
rezolvnd ecuaia ax 1 mod m,[74] sau ecuaia diofantic
liniar echivalent[75]

4.9 Fracii continue


ax + my = 1

Algoritmul luo Euclid este n strns relaie cu noiunea


de fracie continu.[80] irul de ecuaii poate scris sub
Aceast ecuaie se poate rezolva cu ajutorul algoritmuforma
lui lui Euclid, dup cum s-a artat mai sus. Gsirea inversului multiplicativ este un pas esenial n algoritmul
a/b = q0 + r0 /b
RSA, folosit pe scar larg n comerul electronic; anub/r0 = q1 + r1 /r0
me, ecuaia determin ntregul utilizat pentru a decrip[76]
r0 /r1 = q2 + r2 /r1
ta mesajul. Dei algoritmul RSA utilizeaz inele i nu
corpuri, se poate folosi algoritmul lui Euclid pentru gsi
rea inversului multiplicativ acolo unde el exist. Algoritrk/rk = qk + rk/rk
mul lui Euclid are i alte aplicaii n codurile corectoare

de erori; de exemplu, el se poate folosi ca alternativ la


algoritmul BerlekampMassey pentru decodicarea corN/rN = qN
durilor BCH i ReedSolomon, coduri bazate pe corpuri
Ultimul termen din partea dreapt este ntotdeauna egal
Galois.[77]
cu inversul prii stngi din ecuaia urmtoare. Astfel,
primele dou ecuaii pot combinate formnd

4.8

Teorema chinezeasc a resturilor

a/b = q0 + 1/(q1 + r1 /r0 )


Algoritmul lui Euclid se poate folosi pentru a rezolva i
mai multe ecuaii liniare diofantice.[78] Astfel de ecuaii A treia ecuaie poate folosit pentru a substitui termenul
apar n teorema chinezeasc a resturilor, care descrie o de la numitor r1 /r0 , dnd
metod nou de reprezentare a unui ntreg x. n loc de
a/b = q0 + 1/(q1 + 1/(q2 + r2 /r1 ))
a reprezenta un numr ntreg prin cifrele sale, el se poate reprezenta prin resturile xi ale mpririi lui modulo o
Raportul nal al resturilor rk/rk poate oricnd nlocumulime de N numere prime ntre ele mi.[79]
it folosind urmtoarea ecuaie din serie, pn la ultima.
Rezultatul este fracia continu
x x mod m
1

x2 x mod m2

xN x mod mN

a/b = q0 + 1/(q1 + 1/(q2 + 1/( + 1/qN)))


= [q0 ; q1 , q2 , , qN]

n exemplul de mai sus, s-a calculat CMMDC(1071,


462), iar cturile qk erau 2, 3 i respectiv 7. Deci fracia
Scopul este determinarea lui x din cele N resturi xi. Solu- 1071/462 poate scris sub forma
ia se obine combinnd mai multe ecuaii ntr-o singur
ecuaie diofantic cu un modul M mult mai mare care es1071/462 = 2 + 1/(3 + 1/7) = [2; 3, 7]
te produsul tuturor modulelor individuale mi, i denind
dup cum conrm i calculele.
Mi

5.1

Numrul de pai

4.10 Algoritmii de factorizare


Calculul celui mai mare divizor comun este un pas esenial n mai muli algoritmi de factorizare a ntregilor,[81]
such as Pollards rho algorithm,[82] algoritmul lui Shor,[83]
metoda de factorizare a lui Dixon[84] i factorizarea Lenstra cu curbe eliptice.[85] Algoritmul lui Euclid poate
utilizat ecient pentru gsirea CMMDC n aceste cazuri.
Factorizarea cu fracii continue utilizeaz fraciile continue, determinate folosind algoritmul lui Euclid.[86]

Eciena algoritmului

Eciena computaional a algoritmului lui Euclid a fost


mult studiat.[87] Aceast ecien poate descris de numrul de pai al algoritmului nmulit cu costul computaional al ecrui pas. Dup cum a artat Gabriel Lam
pentru prima oar n 1844,[88] numrul de pai necesar
pentru termniarea calculului nu este niciodat mai mare dect numrul h de cifre (n baza 10) al celui mai mic
numr.[89][90] ntruct costul computaional al ecrui pas
este i el de ordinul lui h, costul total crete ca h2 .

9
adevrat sunt b = 1 i a = 2, care sunt F 2 i respectiv
F 3 . Se presupune c rezultatul este valabil pentru toate
valorile lui N pn la M 1. Primul pas al algoritmului de M pai este a = q0 b + r0 , iar al doilea pas este b
= q1 r0 + r1 . Algoritmul ind recursiv, el a rulat M1
pai pentru a gsi CMMDC(b, r0 ) iar valorile lor cele
mai mici sunt FM i FM. Cea mai mic valoare a lui
a este deci cea cu q0 = 1, de unde a = b + r0 = FM +
FM = FM. Aceast demonstraie, publicat de Gabriel
Lam n 1844, reprezint nceputurile teoriei complexitii computaionale,[95] ind i prima aplicaie practic a
irului lui Fibonacci.[93]
Acest rezultat este sucient pentru a arta c numrul de
pai din algoritmul lui Euclid nu poate niciodat mai
mare dect de cinci ori numrul cifrelor sale (n baz
10).[96] Dac algoritmul ruleaz n N pai, atunci b este mai mare sau egal cu FN care este mai mare sau egal
cu N , unde este raportul de aur. Cum b > N , atunci
N < logb. ntruct log10 > 1/5, N/5 < log10 logb =
log10 b. Astfel, N < 5 log10 b. Deci, algoritmul lui Euclid
are nevoie ntotdeauna de mai puin dect O(h) mpriri,
unde h este numrul de cifre al celui mai mic numr b.
5.1.2 Numrul mediu de pai

5.1

Numrul de pai

Numrul de pai necesari pentru calculul CMMDC al dou numere naturale, a i b, se poate nota cu T(a, b).[91]
Dac g este CMMDC al lui a i b, atunci a = mg i b = ng
pentru dou numere m i n prime ntre ele. Atunci

Numrul mediu de pai al algoritmului lui Euclid a fost


denit n trei moduri diferite. Prima deniie este timpul
mediu T(a) necesar pentru a calcula CMMDC al unui
numr a i al unui numr mai mic b ales cu probabilitate
egal dintre ntregii dintre 0 i a 1[91]

T(a, b) = T(m, n)
T (a) =
dup cum se poate vedea mprind toi paii din algoritmul lui Euclid la g.[92] Dup acelai argument, numrul
de pai rmne acelai dac a i b sunt nmulii cu un factor comun w: T(a, b) = T(wa, wb). De aceea, numrul T
de pai poate varia dramatic ntre perechi foarte apropiate de numere, cum ar T(a, b) i T(a, b + 1), n funcie
de ct de mare este CMMDC n ecare caz.

0b<a

Deoarece T(a, b) uctueaz dramatic cu CMMDC al


celor dou numere, ns, funcia T(a) este afectat de
zgomote.[97]
Pentru a reduce aceste zgomote, se face o a doua medie
(a) peste toate numerele prime cu a

Natura recursiv a algoritmului lui Euclid d o alt ecuaie:


(a) =
T(a, b) = 1 + T(b, r0 ) = 2 + T(r0 , r1 ) = = N
+ T(rN, rN) = N + 1
unde se presupune c T(x, 0) = 0.[91]
5.1.1

Numrul maxim de pai

1
T (a, b).
a

1
(a)

T (a, b).

0b<a,GCD(a,b)=1

Exist (a) numere ntregi prime cu a i mai mici dect


acesta, unde este indicatorul lui Euler. Aceast medie
tau crete uniform cu a[98][99]
(a) = (12/2 ) ln 2 ln a + C + O(a(1/6) + )

(1/6) +
, unde este
Dac algoritmul lui Euclidean se execut n N pai pen- cu eroarea rezidual de ordinul lui a
tru dou numere naturale a > b > 0, cele mai mici valori innitezimal. Constanta C din aceast formul este egal
ale lui a i b pentru care acest lucru este adevrat sunt cu
numerele Fibonacci FN respectiv FN.[93] Aceasta se
C = (1/2) + 6 (ln 2/2 )( 4 242 '(2) + 3
poate arta prin inducie.[94] Dac N = 1, b divide a; cele mai mici numere naturale pentru care acest lucru este
ln 2 2) 1.467

10

EFICIENA ALGORITMULUI

unde este constanta EulerMascheroni iar ' este


derivata funciei zeta Riemann.[100][101] Coecientul dominant (12/2 ) ln 2 a fost determinat prin dou metode
independente.[102][103]

17,0%, 9,3%, respectiv 5,9%. ntruct operaia de scdere este mai rapid dect cea de mprire, mai ales n cazul
numerelor mari,[110] algoritmul lui Euclid bazat pe scderi este competitiv cu cel bazat pe mpriri.[111] Acest
exploatat de versiunea binar a algoritmului
ntruct prima medie se poate calcula din media tau prin aspect este[112]
lui
Euclid.
[104]
sum peste divizorii d ai lui a

T (a) =

1
(d) (d)
a
d|a

ea poate aproximat prin formula[105]

Combinarea numrului estimat de pai cu calculul computaional estimat al ecrui pas arat c algoritmul lui
Euclid are o cretere ptratic (h2 ) n funcie de numrul
de cifre h al celor dou numere iniiale a i b. Fie h0 ,
h1 , , hN numrul de cifre ale resturilor succesive r0 ,
r1 , , rN. Cum numrul de pai N crete liniar cu h,
timpul de execuie este limitat de

T(a) C + (12/2 ) ln 2 ( ln a d|a (d)/d )


unde (d) este funcia Mangoldt.[106]
O a treia medie Y(n) este denit ca numrul mediu de
pai necesar atunci cnd a i b sunt ambele alese aleator
(cu distribuie uniform) ntre 1 i n[105]

(
i<N

)
(
)
hi (hi hi+1 +2) O h
(hi hi+1 +2) O(h(h0 +2N ))
i<N

5.3 Eciena unor metode alternative


n
n
n
1
1
Y (n) = 2
T (a, b) =
T (a).
n a=1
n a=1

Algoritmul lui Euclid este folosit pe scar larg n practic, mai ales pentru numere mici, datorit simplitii sale.
nlocuind formula aproximativ pentru T(a) n aceast Pentru comparaie, se poate determina eciena unor alternative la algoritmul lui Euclid.
ecuaie rezult o estimare a lui Y(n)[107]
O abordare inecient a gsirii CMMDC al dou numere
naturale a i b este de a le calcula toi divizorii comuni;
Y(n) (12/2 ) ln 2 ln n + 0.06.
CMMDC este, atunci, cel mai mare dintre acetia. Divizorii comuni se pot gsi mprind succesiv ambele nu5.2 Costul computaional al unui pas
mere la numerele de la 2 la cel mai mic dintre cele dou,
b. Numrul de pai al acestei abordri crete liniar cu
La ecare pas k al algoritmului lui Euclid, se calculeaz b, sau exponenial cu numrul de cifre. O alt abordactul qk i restul rk pentru o pereche dat de ntregi rk re inecient este gsirea factorilor primi ai unuia sau ai
i rk
ambelor numere. Aa cum se arat mai sus, CMMDC este egal cu produsul factorilor primi comuni ai celor dou
rk = qk rk + rk.
numere a i b.[7] Metodele actuale de factorizare sunt i
ele ineciente; multe alte sisteme criptograce se bazeaz
Costul computaional al ecrui pas este asociat cu g- tocmai pe aceast inecien.[10]
sirea lui qk, ntruct restul rk poate calculat rapid din Algoritmul CMMDC binar este o alternativ ecienrk, rk, and qk
t care nlocuiete mprirea cu operaii mai rab=1

rk = rk qk rk.
Costul computaional al mpririi numerelor pe h bii
scaleaz ca O(h( +1)), unde este lungimea ctului.[108]
Pentru comparaie, algoritmul original al lui Euclid bazat
pe scderi poate mult mai lent. O singura mprire de
ntregi este echivalent cu q scderi (q este ctul mpririi). Dac raportul a supra b este foarte mare, i ctul este
mare i este nevoie de multe scderi. Pe de alt parte, s-a
artat c sunt anse mari ca aceste cturi s e numere
ntregi mici. Probabilitatea ca un ct dat s aib o anumit valoare q este aproximativ ln|u/(u 1)| unde u = (q
+ 1)2 .[109] Pentru ilustrare, probabilitatea ca la mprire s rezulte ctul 1, 2, 3, sau 4 este aproximativ 41,5%,

pide, exploatnd reprezentrile binare utilizate de


calculatoare.[113][114] Aceast alternativ, ns, scaleaz i
ea ca O(h). Este de regul mai rapid pe calculatoarele reale, dar scaleaz la fel ca algoritmul lui Euclid.[115]
Eciena se poate mbunti examinnd doar primele cifre ale numerelor a i b.[116][117] Algoritmul binar poate
extins la alte baze (algoritmi k-ari)[118] , cu creteri ale
vitezei pn la de cinci ori.[119]
O abordare recursiv pentru numere ntregi foarte mari
(cu peste 25.000 de cifre) conduce la algoritmi CMMDC
subcuadratici,[120] cum ar cel al lui Schnhage,[121][122]
i cel al lui Stehl i Zimmermann.[123] Aceti algoritmi
exploateaz forma matriceal 22 a algoritmului lui Euclid prezentat mai sus. Aceste metode subcuadratice
scaleaz n general ca O(h (log h)2 (log log h)).[115][124]

6.2

Polinoame

Alte sisteme de numere

11

unde m = n = 1 i m = n = 0 sunt valorile iniiale. Convergentul mk/nk este cea mai bun aproximaie
Dup cum s-a descris mai sus, algoritmul lui Euclid este raional a lui a/b cu numitorul nk:
folosit pentru a gsi cel mai mare divizor comun al dou

numere naturale (numere ntregi pozitive). Acesta poate
a m
1
, ns, generalizat la numere reale, i la sisteme de nume- k < 2 .
b
n
n
k
k
re mai exotice, cum ar polinoamele, ntregii cuadratici
i cuaternionii Hurwitz. n ultimele dou cazuri, algoritmul lui Euclid este folosit pentru a demonstra proprieta- 6.2 Polinoame
tea crucial de unicitate a factorizrii, anume cea c astfel
de numere pot factorizate n mod unic n elemente ire- Polinoamele de o singur variabil x se pot aduna, nmuli
ductibile, structuri similare numerelor prime. Unicitatea i descompune n polinoame ireductibile, structuri anafactorizrii este esenial n multe demonstraii din teoria loage numerelor prime din mulimea numerelor ntregi.
numerelor.
Cel mai mare divizor comun g(x) al dou polinoame a(x)
i b(x) este denit ca produsul polinoamelor ireductibile comune, care pot identicate folosind algoritmul lui
6.1 Numere reale i raionale
Euclid.[127] Procedura de baz este similar cu cea de la
ntregi. La e care pas k, se calculeaz un polinom ct
Algoritmul lui Euclid se poate aplica i numerelor reale, qk(x) i un polinom rest rk(x) care satisfac ecuaia recuraa cum arat Euclid n Cartea 10 din Elementele. Sco- siv
pul algoritmului este identicarea unui numr real g astfel nct dou numere reale, a i b, sunt multipli ntregi
rk(x) = qk(x) rk(x) + rk(x)
ai acestuia: a = mg i b = ng, unde m i n sunt ntregi.[32]
Aceast identicare este echivalent cu gsirea unei rela- unde r(x) = a(x) i r(x) = b(x). Polinomul ct este ales
ii ntregi ntre dou numere reale a i b; adic, ea deter- astfel nct termenul dominant al lui qk(x) rk(x) s e
min ntregii s i t astfel ntt sa + tb = 0. Euclid folo- egal cu termenul dominant al lui rk(x); aceasta asigur
sete acest algoritm pentru a trata chestiunea lungimilor c gradul ecrui rest este mai mic dect gradul predeincomensurabile.[125][126]
cesorului su grad[rk(x)] < grad[rk(x)]. ntruct gradul
Algoritmul lui Euclid pe numere reale difer de cel pe ntregi prin dou aspecte. Primul este c resturile rk sunt
numere reale, dei cturile qk sunt, ca i mai nainte, ntregi. Al doilea este c algoritmul nu este garantat c se
termin ntr-un numr nit N de pai. Dac se termin,
atunci fracia a/b este un numr raional, adic este raportul a dou numere ntregi
a/b = mg/ng = m/n

este un numr ntreg nenegativ, i ntruct el scade la ecare pas, algoritmul lui Euclid se ncheie ntr-un numr
nit de pai. Ultimul rest nenul este cel mai mare divizor
comun al celor dou polinoame iniiale, a(x) i b(x).[128]
De exemplu, e urmtoarele polinoame de gradul patru,
care ecare se descompune n dou polinoame de gradul
doi:
a(x) = x4 4x3 + 4 x2 3x + 14 = (x2 5x +
7)(x2 + x + 2)

i poate scris ca fracie continu nit [q0 ; q1 , q2 , ,


qN]. Dac algoritmul nu se oprete, atunci fracia a/b este i
un numr iraional i poate descris de o fracie continu
b(x) = x4 + 8x3 + 12x2 + 17x + 6 = (x2 + 7x +
innit [q0 ; q1 , q2 , ]. Exemple de fracii continue in3)(x2 + x + 2).
nite sunt raportul de aur = [1; 1, 1, ] i rdcina
ptrat a lui 2, 2 = [1; 2, 2, ]. n general, algoritmul nu se oprete, ntruct aproape toate rapoartele a/b mprind pe a(x) la b(x) rezult un rest r0 (x) = x3 + (2/3)
de dou numere reale sunt iraionale.
x2 + (5/3) x (2/3). n pasul urmtor, b(x) se mparte la
2
O fracie continu innit poate trunchiat la un pas k r0 (x) rezultnd restul r1 (x) = x + x + 2. mprind, apoi,
[q0 ; q1 , q2 , , qk] pentru a da o aproximaie a raportului r0 (x) la r1 (x) rezult un rest nul, indicnd c r1 (x) este cel
a/b, aproximaie ce e cu att mai bun cu ct k este mai mai mare divizor comun al lui a(x) i b(x), consistent cu
mare. Aproximaia este descris de convergenii mk/nk; factorizarea acestora.
numrtorul i numitorul sunt prime ntre ele i respect Multe dintre aplicaiile descrise mai sus pentru numere
relaia recursiv
ntregi sunt valabile i pentru polinoame.[129] Algoritmul
lui Euclid se poate folosi pentru rezolvarea de ecuaii liniare diofantice i de probleme chinezeti ale resturilor
mk = qk mk + mk
pentru polinoame; se pot deni i fracii continue de ponk = qk nk + nk
linoame.

12

6 ALTE SISTEME DE NUMERE

Algoritmul lui Euclid polinomial are i alte aplicaii proprii, cum ar lanurile Sturm, o tehnic de numrare a
rdcinilor reale ale polinoamelor ntr-un interval dat de
pe axa numerelor reale. Aceasta are aplicaii n mai multe zone, cum ar criteriul de stabilitate RouthHurwitz
din teoria sistemelor.
n cele din urm, coecienii polinoamelor nu sunt obligatoriu numere ntregi, reale, i nici mcar complexe.
De exemplu, coecienii pot din orice corp, cum ar
corpurile nite GF(p) descrise mai sus. Concluziile
corespunztoare despre algoritmul lui Euclid i despre
aplicaiile acestuia sunt valabile chiar i pentru asemenea
polinoame.[127]

Multe dintre celelalte aplicaii ale algoritmului lui Euclid


sunt valabile i pentru ntregii gaussieni. De exemplu, el
se poate folosi pentru a rezolva ecuaii liniare diofantice i
probleme chinezeti ale resturilor pentru aceste numere;
se pot deni i fracii continue de ntregi gaussieni.

6.4 Inele euclidiene

O mulime de elemente mpreun cu doi operatori binari,


+ i , se numete inel euclidian dac formeaz un inel
comutativ R i dac pe aceast mulime se poate executa un algoritm al lui Euclid modicat.[131][132] Cele dou
operaii ale unui astfel de inel nu trebuie neaprat s e
adunarea i nmulirea din aritmetica obinuit; ele pot
mai generale, cum sunt operaiile de pe un grup sau de
6.3 ntregii gaussieni
pe un monoid. Cu toate acestea, aceste operaii generale
ntregii gaussieni sunt numere complexe de forma = u trebuie s respecte multe legi ce guverneaz i aritme+ vi, unde u i v sunt numere ntregi obinuite i i este tica obinuit, cum ar de exemplu commutativitatea,
unitatea imaginar.[130] Denind un algoritm analog ce- asociativitatea i distributivitate.
lui al lui Euclid, se poate arta c ntregii gaussieni au - Algoritmul lui Euclid generalizat are nevoie de o funcecare o factorizare unic, conform demonstraiei de mai ie euclidian, respectiv de o transformare f de la R la
sus.[45] Unicitatea factorizrii este util n mai multe apli- mulimea numerelor ntregi nenegative cu proprietatea
caii, cum ar calculul tuturor tripletelor pitagoreice sau c, pentru dou elemente nenule a i b din R, exist q
demonstraia Primei teoreme a lui Fermat a sumei a do- i r n R cu proprietatea c a = qb + r i f(r) < f(b). Un
u ptrate.[130] n general, algoritmul lui Euclid este unul exemplu de astfel de funcie este funcia norm utilizat
convenabil n asemenea aplicaii, dar nu este indispensa- pentru a ordona numerele ntregi gaussiene ca mai sus.
bil; de exemplu, teoremele pot adesea demonstrate prin Funcia f poate modulul numrului, sau gradul polinoalte metode.
mului. Principiul de baz este acela c la ecare pas al
Algoritmul lui Euclid dezvoltat pentru dou numere ntregi gaussiene i este aproape acelai ca i pentru
numerele ntregi; el se ndeprteaz de acesta din urm
n dou aspecte. Ca i nainte, la ecare pas k trebuie
identicat un ct qk i un rest rk astfel nct
rk = rk qk rk
unde rk = , rk = , i ecare rest este strict mai mic
dect predecesorul su, |rk| < |rk|. Prima diferen este aceea c resturile i cturile sunt i ele numere ntregi
gaussiene, i deci complexe. Cturile qk sunt n general
gsite prin rotunjirea prilor real i imaginar a raportului exact (cum ar numrul complex /) la cel mai
apropiat ntreg. A doua diferen const n necesitatea
denirii modului n care un rest complex poate considerat a mai mic dect altul. Pentru aceasta, se denete o funcie norm f(u + vi) = u2 + v2 , care transform ecare ntreg gaussian u + vi la un numr ntreg.
Dup ecare pas k al algoritmului lui Euclid, norma restului f(rk) este mai mic dect norma restului precedent,
f(rk). Norma ind un ntreg nenegativ i scznd la ecare pas, algoritmul lui Euclid pentru ntregi gaussieni
se termin ntr-un numr nit de pai. Ultimul rest nenul este CMMDC(,), ntregul gaussian cu norma cea
mai mare i care se mparte exact la i la ; el rmne
aceleai i dup nmulirea numrului cu o unitate, 1 sau
i.

algoritmului, f se reduce; astfel, dac f poate redus doar


de un numr nit de ori, algoritmul trebuie s se termine
ntr-un numr nit de pai. Acest principiu se bazeaz
pe ordonarea natural i pe existena unui numr natural
minim.
Teorema fundamental a aritmeticii se aplic pe orice inel
euclidian: orice element dintr-un inel euclidian poate
factorizat n mod unic n elemente ireductibile. Orice inel
euclidian este un domeniu de factorizare unic, dei reciproca nu este adevrat ntotdeauna. Inelele euclidiene
sunt o submulime a domeniilor CMMDC, domenii n care exist ntotdeauna un cel mai mic divizor comun al dou elemente. Cu alte cuvinte, poate exista un cel mai mare divizor comun (pentru toate elementele dintr-un inel),
dei s-ar putea ca acesta s nu poat gsit cu ajutorul algoritmului lui Euclid. Un inel euclidian este ntotdeauna
un domeniu de ideal principal, domeniu integral n care
ecare ideal este un ideal principal. Din nou, reciproca
nu este adevrat: nu orice astfel de domeniu este inel
euclidian.
Unicitatea factorizrii n inelele euclidiene este util n
mai multe aplicaii. De exemplu, unicitatea factorizrii
ntregilor gaussieni este convenabil la calculul formulelor pentru toate tripletele pitagoreice i la demonstrarea
teoremei lui Fermat privind suma a dou ptrate.[130] Unicitatea factorizrii este i element cheie ntr-o tentativ
de demonstrare a Ultimei teoreme a lui Fermat publicat n 1847 de Gabriel Lam, acelai matematician care

13
analizase eciena algoritmului lui Euclid, pe baza unei
sugestii a lui Joseph Liouville.[133] Abordarea lui Lam
impunea unicitatea factorizrii numerelor de forma x +
y, unde = e2i/n este rdcina de ordin n a lui 1, adic,
n = 1. Dei aceast abordare are succes pentru anumite valori ale lui n (cum ar n=3, ntregii Eisenstein),
n general, asemenea numere nu au o factorizare unic.
Aceast neunicitate a factorizrilor din unele corpuri ciclotomice l-a condus pe Ernst Kummer la conceptul de
numr ideal i, mai apoi, pe Richard Dedekind la cel de
ideal.
6.4.1

Unicitatea factorizrii ntregilor cuadratici

ntregii cuadratici pot un exemplu de inel euclidian. ntregii cuadratici sunt o generalizare a conceptului de ntregi gaussieni n care unitatea imaginar i este nlocuit
de un numr . Astfel, ele au forma u + v , unde u i v
sunt numere ntregi, iar are una dintre dou forme posibile, n funcie de parametrul D. Dac D nu este egal cu
un multiplu de patru plus unu (cum ar 5, 17, sau 19),
atunci
= D.
Altfel,

dou versiuni de algoritm al lui Euclid, unul pentru divizorii la stnga i alta pentru divizorii la dreapta. Dac se
aleg divizorii la dreapta, primul pas n a gsi CMMDC(,
) prin algoritmul lui Euclid se poate scrie
0 = 0 = ( 0 )
unde 0 reprezint ctul, iar 0 reprezint restul. Aceast
ecuaie arat c orice divizor comun la dreapta al lui i
este divizor comun i al restului 0 . Ecuaia analoag
pentru divizorii la stnga ar
0 = 0 = ( 0 )
n oricare variant, procesul se repet ca mai sus pn
cnd se identic cel mai mare divizor comun la dreapta
sau la stnga. Ca i n cazul inelelor euclidiene, mrimea restului 0 trebuie s e strict mai mic dect , i
trebuie s existe doar un numr nit de mrimi posibile
pentru 0 , pentru ca algoritmul s se termine.
Majoritatea rezultatelor pentru CMMDC sunt valabile i
pentru inelele necomutative. De exemplu, identitatea lui
Bzout arm c CMMMDC la dreapta al lui i se
poate exprima sub form de combinaie liniar de i .
Cu alte cuvinte, exist numerele i cu proprietatea c
= +

= (1 + D)/2.

Identitatea analoag pentru CMMDC la stnga este


aproape similar:

Dac funcia f corespunde unei funcii norm, cum ar


cea utilizat la sortarea ntregilor gaussieni, atunci inelul
= +
unor astfel de numere este euclidian doar pentru o mulime nit de valori ale lui D: D = 11, 7, 3, 2, 1, 2,
3, 5, 6, 7, 11, 13, 17, 19, 21, 29, 33, 37, 41, 57 sau 73.[25] Identitatea lui Bzout se poate utiliza pentru rezolvarea
ntregii cuadratici cu D = 1 i 3 sunt ntregi gaussieni, de ecuaii diofantice.
respectiv ntregi Eisenstein.
Dac f poate orice funcie euclidian atunci lista de 7 Generalizri la alte structuri mavalori posibile ale lui D pentru care inelul este euclidian
tematice
nu este cunoscut.[134] Primul exemplu de domeniu euclidian nu era cu funcie norm (D=69) i a fost publicat n
1994.[134] n 1973, Weinberger a demonstrat c un ienl Algoritmul lui Euclid are trei trsturi generale care meste euclidian dac i numai dac este domeniu de ideal preun asigur faptul c nu se execut la innit. Prima
principal, cu condiia ca ipoteza Riemann generalizat s este c poate scris ca ir de operaiuni recursive
e adevrat;[135] Demonstraia lui Weinberger a fost generalizat n 2004 pentru a elimina aceast restricie.[136]
rk = rk qk rk

6.5

Inele necomutative

n care ecare rest este strict mai mic dect predecesorul


su, |rk| < |rk|. A doua, dimensiunea ecrui rest are o
limit inferioar strict, cum ar |rk| 0. A treia, exist
doar un numr nit de dimensiuni mai mici ca un rest
dat |rk|. Generalizrile algoritmului lui Euclid cu aceste
trsturi de baz s-au aplicat i altor structuri matematice,
cum ar nodurile[139] i numerele ordinale transnite.[140]

Algoritmul lui Euclid se poate aplica pe inele necomutative, ca i pe mulimea cuaternionilor Hurwitz.[137] Fie
i dou elemente ale unui inel necomutativ. Ele au un
divizor comun la dreapta dac = i = pentru
dou numere i din inel. Analog, ele au un divizor comun la stnga dac = i = pentru dou elemente O important generalizare a algoritmului lui Euclid este
i n inel. Cum nmulirea nu este comutativ, exist conceptul de baz Grbner din geometria algebric. Aa

14

NOTE

cum s-a artat mai sus, CMMDC g al dou numere n- [14] Knuth, Donald E. (1997). The Art of Computer Programming, Volume 1: Fundamental Algorithms (ed. 3rd).
tregi a i b este generatorul idealului lor. Cu alte cuvinte,
Addison-Wesley. ISBN 0-201-89683-4 (Seciunea 1.2.1:
oricare ar ntregii s i t, exist un alt ntreg m cu propriMathematical Induction, pp. 1121.)
etatea c
[15] Rosen, pp. 1821.

sa + tb = mg.

[16] Rosen, pp. 2124.

Dei aceasta este valabil i cnd s, t, m, a i b reprezin- [17] Anderson JA (2001). Discrete Mathematics with Combinatorics. Upper Saddle River, NJ: Prentice Hall. pp.
t polinoame de o singur variabil, ea nu este adevrat
165223. ISBN 0-13-086998-8
pentru inele de polinoame de mai mult de o variabil.[141]
n acest caz, se poate deni o mulime nit de polinoa- [18] Rosen, p. 492.
me generatoare g1 , g2 etc. astfel nct orice combinaie
liniar de dou polinoame de mai multe variabile a i b [19] Anderson JA (2001). Discrete Mathematics with Combinatorics. Upper Saddle River, NJ: Prentice Hall. pp.
pot exprimate ca multipli ai generatoarelor
109119. ISBN 0-13-086998-8

sa + tb = k mkgk

[20] Stark, p. 18.


[21] Stark, pp. 1620.

unde s, t i mk sunt polinoame de mai multe variabile.[142]


Orice astfel de polinom cu mai multe variabile f poate [22] Knuth, p. 320.
exprimat ca astfel de sum de polinoame generatoare
plus un polinom rest r, denumit uneori forma normal a [23] Lovsz L, Pelikn J, Vesztergombi K (2003). Discrete Mathematics: Elementary and Beyond. New York:
polinomului f
Springer-Verlag. pp. 100101. ISBN 0-387-95584-4

f = r + k qkgk
dei polinoamele ct qk pot s nu e unice.[143] Mulimea acestor polinoame generatoare se numete baz
Grbner.[144]

[24] Kimberling C (1983). A Visual Euclidean Algorithm.


Mathematics Teacher 76: 108109.
[25] Cohn, pp. 104110.
[26] Knuth, pp. 319320.
[27] Knuth, pp. 318319.

Note

[28] Stillwell, p. 14.


[29] Ore, p. 43.

[1] Thomas L. Heath, The Thirteen Books of Euclids Elements, 2nd ed. [Facsimile. Original publication: Cambridge University Press, 1925], 1956, Dover Publications
[2] Stark, p. 16.
[3] Stark, p. 21.
[4] LeVeque, p. 32.
[5] Leveque, p. 31.
[6] Grossman JW (1990). Discrete Mathematics. New York:
Macmillan. p. 213. ISBN 0-02-348331-8
[7] Schroeder, pp. 2122.
[8] Schroeder, p. 19.
[9] Ogilvy CS, Anderson JT (1966). Excursions in number
theory. New York: Oxford University Press. pp. 2729.
Library of Congress Control Number 66-14484
[10] Schroeder, pp. 216219.
[11] Leveque, p. 33.
[12] Stark, p. 25.
[13] Ore, pp. 4748.

[30] Stewart BM (1964). Theory of Numbers (ed. 2nd). New


York: Macmillan. pp. 4344. Library of Congress Control Number 64-10964
[31] Knuth, p. 318.
[32] Weil A (1983). Number Theory. Boston: Birkhuser. pp.
46. ISBN 0-8176-3141-0
[33] Jones A (1994). Greek mathematics to AD 300. Companion encyclopedia of the history and philosophy of the
mathematical sciences. New York: Routledge. pp. 46
48. ISBN 0-415-09238-8
[34] van der Waerden BL (1954). Science Awakening. translated by Arnold Dresden. Groningen: P. Noordho Ltd.
pp. 114115
[35] von Fritz K (1945). The Discovery of Incommensurability by Hippasus of Metapontum. Ann. Math. 46: 242
264. doi:10.2307/1969021.
[36] Heath TL (1949). Mathematics in Aristotle. Oxford Press.
pp. 8083
[37] Fowler DH (1987). The Mathematics of Platos Academy:
A New Reconstruction. Oxford: Oxford University Press.
pp. 3166. ISBN 0-19-853912-6

15

[38] Becker O (1933). Eudoxus-Studien I. Eine voreuklidische Proportionslehre und ihre Spuren bei Aristoteles und
Euklid. Quellen und Studien zur Geschichte der Mathematik B 2: 311333.
[39] Stillwell, p. 31.

[64] Koshy T (2002). Elementary Number Theory with Applications. Burlington, MA: Harcourt/Academic Press. pp.
167169. ISBN 0-12-421171-2
[65] Bach E, Shallit J (1996). Algorithmic number theory.
Cambridge, MA: MIT Press. pp. 7073. ISBN 0-26202405-5

[40] Tattersall, p. 70.


[66] Stark, pp. 2636.
[41] Rosen, pp. 8687.
[42] Ore, pp. 247248.
[43] Tattersall, pp. 72, 184185.
[44] Tattersall, pp. 7276.
[45] Gauss CF (1832). Theoria residuorum biquadraticorum. Comm. Soc. Reg. Sci. Gtt. Rec. 4. Vezi i Werke,
2:67148.

[67] Ore, p. 44.


[68] Stark, pp. 281292.
[69] Rosen, pp. 119125.
[70] Schroeder, pp. 106107.
[71] Schroeder, pp. 108109.
[72] Rosen, pp. 120121.

[46] Stillwell, pp. 3132.

[73] Stark, p. 47.

[47] Dirichlet, pp. 2931.

[74] Schroeder, pp. 107109.

[48] Dedekind R (1894). Supplement XI. in PGL Dirichlet.


Vorlesungen ber Zahlentheorie

[75] Stillwell, pp. 186187.

[49] Stillwell J (2003). Elements of Number Theory. New


York: Springer-Verlag. pp. 4142. ISBN 0-387-95587-9
[50] Sturm C (1829). Mmoire sur la rsolution des quations
numriques. Bull. des sciences de Frussac 11: 419422.

[76] Schroeder, p. 134.


[77] Error correction coding: mathematical methods and algorithms, pagina 266, Todd K. Moon, John Wiley and
Sons, 2005, ISBN 0-471-64800-0
[78] Rosen, pp. 143170.

[51] Eric W. Weisstein, Integer Relation la MathWorld.

[79] Schroeder, pp. 194195.

[52] Peterson I (12 august 2002). Jazzing Up Euclids Algorithm. ScienceNews.

[80] Vinogradov IM (1954). Elements of Number Theory.


New York: Dover. pp. 313

[53] Cipra BA (16 mai 2000). The Best of the 20th Century:
Editors Name Top 10 Algorithms. SIAM News (Society
for Industrial and Applied Mathematics) 33 (4).

[81] Crandall R, Pomerance C (2001). Prime Numbers: A


Computational Perspective (ed. 1st). New York: SpringerVerlag. pp. 225349. ISBN 0-387-94777-9

[54] englez {{{1}}}Cole AJ, Davie AJT (1969). A game based on the Euclidean algorithm and a winning strategy for
it. Math. Gaz. 53: 354357. doi:10.2307/3612461.

[82] Knuth, pp. 369371.

[55] Spitznagel EL (1973). Properties of a game based on


Euclids algorithm. Math. Mag. 46: 8792.
[56] Rosen, p. 95.
[57] Roberts J (1977). Elementary Number Theory: A Problem
Oriented Approach. Cambridge, MA: MIT Press. pp. 1
8. ISBN 0-262-68028-0
[58] Jones GA, Jones JM (1998). Bezouts Identity. Elementary Number Theory. New York: Springer-Verlag. pp.
711
[59] Rosen, p. 81.
[60] Cohn, p. 104.
[61] Rosen, p. 91.
[62] Schroeder, p. 23.
[63] Rosen, pp. 9093.

[83] Shor PW (1997). Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum
Computer. SIAM J. Sci. Statist. Comput. 26: 1484.
[84] Dixon JD (1981).
Asymptotically fast factorization of integers. Math. Comput. 36: 255260.
doi:10.2307/2007743.
[85] Lenstra Jr. HW (1987). Factoring integers with elliptic curves. Annals of Mathematics 126: 649673.
doi:10.2307/1971363.
[86] Knuth, pp. 380384.
[87] Knuth, pp. 339364.
[88] Lam G (1844). Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur
entre deux nombres entiers. Comptes Rendus Acad. Sci.
19: 867870.
[89] Grossman H (1924). On the Number of Divisions in Finding a G.C.D.. The American Mathematical Monthly 31:
443. doi:10.2307/2298146.

16

NOTE

[90] Honsberger R (1976). Mathematical Gems II. The [116] Knuth, p. 328.
Mathematical Association of America. pp. 5457. ISBN
[117] Lehmer DH (1938). Euclids Algorithm for Large Num0-88385-302-7
bers. The American Mathematical Monthly 45: 227233.
doi:10.2307/2302607.
[91] Knuth, p. 344.
[92] Ore, p. 45.
[93] Knuth, p. 343.
[94] Mollin, p. 21.
[95] LeVeque, p. 35.
[96] Mollin, pp. 2122.
[97] Knuth, p. 353.

[118] Sorenson J (1994). Two fast GCD algorithms. J. Algorithms 16: 110144. doi:10.1006/jagm.1994.1006.
[119] Weber K (1995).
The accelerated GCD algorithm. ACM Trans. Math. Soft. 21: 111122.
doi:10.1145/200979.201042.
[120] Aho A, Hopcroft J, Ullman J (1974). The Design and
Analysis of Computer Algorithms. New York: Addison
Wesley. pp. 300310

[121] Schnhage A (1971). Schnelle Berechnung von Kettenbruchentwicklungen. Acta Informatica 1: 139144.
doi:10.1007/BF00289520.
Tonkov T (1974). On the average length of nite continued fractions. Acta arithmetica 26: 4757.
[122] Cesari G (1998). Parallel implementation of Schnhages integer GCD algorithm. in G. Buhler. AlgorithPorter JW (1975). On a Theorem of Heilbronn. Mamic Number Theory: Proc. ANTS-III, Portland, OR. New
thematika 22: 2028.
York: Springer-Verlag. pp. 6476 Volume 1423 in LecKnuth DE (1976). Evaluation of Porters Constant.
ture notes in Computer Science.
Computers and Mathematics with Applications 2: 137
[123] Stehl D, Zimmermann P (2005). Gals accurate tables
139. doi:10.1016/0898-1221(76)90025-0.
method revisited. Proceedings of the 17th IEEE SympoDixon JD (1970). The Number of Steps in the Eusium on Computer Arithmetic (ARITH-17). Los Alamitos,
clidean Algorithm. J. Number Theory 2: 414422.
CA: IEEE Computer Society Press
doi:10.1016/0022-314X(70)90044-2.
[124] Mller N (2008). On Schnhages algorithm and subquaHeilbronn HA (1969). On the Average Length of a Class
dratic integer gcd computation. Mathematics of Compuof Finite Continued Fractions. in Paul Turn. Number
tation 77: 589607. doi:10.1090/S0025-5718-07-02017Theory and Analysis. New York: Plenum. pp. 8796.
0.
Library of Congress Control Number 68-8991
[125] Boyer CB, Merzbach UC (1991). A History of MathemaKnuth, p. 354.
tics (ed. 2nd). New York: Wiley. pp. 116117. ISBN
0-471-54397-7
Norton GH (1990). On the Asymptotic Analysis of the
Euclidean Algorithm. Journal of Symbolic Computation [126] Cajori F (1894). A History of Mathematics. New York:
Macmillan. p. 70
10: 5358. doi:10.1016/S0747-7171(08)80036-3.

[98] Knuth, p. 357.


[99]
[100]
[101]

[102]

[103]

[104]
[105]

[106] Knuth, p. 355.


[107] Knuth, p. 356.
[108] Knuth, pp. 257261.

[127] Lang S (1984). Algebra (ed. 2nd). Menlo Park, CA:


AddisonWesley. pp. 190194. ISBN 0-201-05487-6
[128] Cox, pp. 3746.
[129] Schroeder, pp. 254259.

[109] Knuth, p. 352.


[110] Wagon S (1999). Mathematica in Action. New York:
Springer-Verlag. pp. 335336. ISBN 0-387-98252-3

[130] Stillwell J (2003). Elements of Number Theory. New


York: Springer-Verlag. pp. 101116. ISBN 0-38795587-9

[111] Cohen, p. 14.

[131] Stark, p. 290.

[112] Cohen, pp. 1415, 1718.

[132] Cohn, pp. 104105.

[113] Knuth, pp. 321323.

[133] Lam G (1847). Mmoire sur la rsolution, en nombres


complexes, de l'quation An + Bn + Cn = 0. J. Math.
[114] Stein J (1967). Computational problems associated wiPures Appl. 12: 172184.
th Racah algebra. Journal of Computational Physics 1:
397405. doi:10.1016/0021-9991(67)90047-2.
[134] Clark DA (1994). A quadratic eld which is Euclidean
but not norm-Euclidean. Manuscripta mathematica 83:
[115] Crandall R, Pomerance C (2001). Prime Numbers: A
327330. doi:10.1007/BF02567617.
Computational Perspective (ed. 1st). New York: SpringerVerlag. pp. 7779, 8185, 425431. ISBN 0-387- [135] Weinberger P. On Euclidean rings of algebraic integers. .
94777-9
Proc. Sympos. Pure Math. 24: 321332.

17

[136] Harper M, Murty, MR (2004). Euclidean Rings of Algebraic Integers. Canadian Journal of Mathematics 56:
7176.
[137] Stillwell J (2003). Elements of Number Theory. New
York: Springer-Verlag. pp. 151152. ISBN 0-38795587-9
[138] Yamada Y (2007). Generalized rational blow-down, torus
knots, and Euclidean algorithm. arXiv:0708.2316v1.
[139] Conway, John (1970). An enumeration of knots and links, and some of their algebraic properties. Computational Problems in Abstract Algebra (Proc. Conf., Oxford,
1967). Pergamon. pp. 329358
[140] Jategaonkar AV (1969). Rings with transnite left division algorithm. Bull. Amer. Math. Soc. 75: 559561.
doi:10.1090/S0002-9904-1969-12242-1.
[141] Cox, p. 65.
[142] Cox, pp. 7379.
[143] Cox, pp. 7986.
[144] Cox, p. 74.

Bibliograe
Cohen H (1993). A Course in Computational Algebraic Number Theory. New York: SpringerVerlag. ISBN 0-387-55640-0. http://books.google.
com/books?id=hXGr-9l1DXcC
Cohn H (1962). Advanced Number Theory. New
York: Dover. ISBN 0-486-64023-X. http://books.
google.com/books?id=yMGeElJ8M0wC
Cormen TH, Leiserson CE, Rivest RL, and Stein C
(2001). Introduction to Algorithms (ed. 2nd). MIT
Press and McGrawHill. ISBN 0262032937. http:
//books.google.com/books?id=NLngYyWFl_YC
Cox D, Little J, and O'Shea D (1997). Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra (ed. 2nd). Springer-Verlag. ISBN 0387-94680-2. http://books.google.com/books?id=
7eLkq0wQytAC
Dirichlet PGL (1894). Richard Dedekind. ed. Vorlesungen ber Zahlentheorie. Braunschweig: Vieweg
Hardy GH, Wright EM [revised by D.R. HeathBrown and J.H. Silverman]. (2008). An Introduction to the Theory of Numbers (ed. 6th). Oxford:
Clarendon Press. http://books.google.com/books?
id=rey9wfSaJ9EC
Knuth D (1997). The Art of Computer Programming, Volume 2: Seminumerical Algorithms (ed.
3rd). AddisonWesley. ISBN 0201896842

LeVeque WJ (1977). Fundamentals of Number


Theory. New York: Dover. ISBN 0-486-68906-9
Mollin RA (2008). Fundamental Number Theory
with Applications (ed. 2nd). Boca Raton: Chapman
& Hall/CRC. ISBN 9781420066593
Ore (1948). Number Theory and Its History. New
York: McGrawHill
Rosen KH (2000). Elementary Number Theory and
its Applications (ed. 4th). Reading, MA: Addison
Wesley. ISBN 0201870738
Schroeder MR (2005). Number Theory in Science and Communication (ed. 4th). Springer-Verlag.
ISBN 0387158006
Stark H (1978). An Introduction to Number Theory.
MIT Press. ISBN 0-262-69060-8
Stillwell J (1997). Numbers and Geometry. New
York: Springer-Verlag. ISBN 0-387-98289-2
Tattersall JJ (2005). Elementary number theory in
nine chapters. Cambridge: Cambridge University
Press. ISBN 9780521850148
Uspensky JV, Heaslet MA (1939). Elementary Number Theory. New York: McGrawHill

10 Legturi externe
Demonstraii ale algoritmului lui Euclid
Eric W. Weisstein,
MathWorld.

Euclidean Algorithm la

Algoritmul lui Euclid la cut-the-knot


Euclids algorithm de la PlanetMath
Algoritmul lui Euclid la MathPages
Jocul lui Euclid la cut-the-knot
Muzica i algoritmul lui Euclid

18

10

LEGTURI EXTERNE

Un dreptunghi 24-pe-60 acoperit cu zece ptrate 12-pe-12, n


care 12 este CMMDC al numerelor 24 i 60. Mai general, un
dreptunghi de a-pe-b poate acoperit din ptrate cu latura de c
doar dac c este divizor comun al lui a i b.

Animaie ce prezint algoritmul lui Euclid pentru numerele 252


i 105. Barele reprezint unitile de 21, cel mai mare divizor
comun (CMMDC). La ecare pas, numrul mai mic este sczut
din cel mai mare, pn cnd unul dintre numere ajunge s e
zero. Cellalt este CMMDC.

19

Algoritmul lui Euclid a fost probabil inventat cu cteva secole


naintea lui Euclid (n imagine)

Animaie a algoritmului. Dreptunghiul verde iniial are dimensiunile a = 1071 i b = 462. El se mparte n ptrate de dimensiune 462462 pn rmne un dreptunghi 462147. Acesta e
mprit mai departe n ptrate 147147 pn rmne un dreptunghi 21147. Acest al treilea dreptunghi este mprit n ptrate
2121, i nu rmne niciun rest. Deci 21 este cel mai mare divizor comun al lui 1071 i 462.
Gracul unei ecuaii diofantice, 9x + 12y = 483. Soluiile sunt
artate ca cercuri albastre.

20

Numrul de pai din algoritmul lui Euclid pentru CMMDC(x,y).


Punctele roii indic pai relativ puini (vitez mare), iar punctele
galbene, verzi i albastre indic un numr din ce n ce mai mare
de pai (vitez sczut).

Distribuia numerelor prime gaussiene u + vi n planul complex,


cu norma u2 + v2 mai mic dect 500

10

LEGTURI EXTERNE

Distribuia numerelor prime Eisenstein u + v n planul complex,


cu norma mai mic dect 500. Numrul este o rdcin cubic
a unitii.

Algoritmul lui Euclid se poate aplica n teoria nodurilor.[138]

21

11
11.1

Text and image sources, contributors, and licenses


Text

Algoritmul lui Euclid Surs: https://ro.wikipedia.org/wiki/Algoritmul_lui_Euclid?oldid=10334179 Contribuitori: Gutza, Orioane, RebelRobot, Andrei Stroe, Strainubot, GEO, Victor Blacus, Thijs!bot, Turbojet, Liviu Savastru, Gik, Geluzamolxis, FiriBot, Luckas-bot,
ArkBot, Rubinbot, ArthurBot, Xqbot, RibotBOT, Ionutzmovie, Nerissa-Marie, EmausBot, Ebrambot, WikitanvirBot, MerlIwBot, Sebastianpin, L.A. (AWB), GT, Addbot, BreakBot, XXN-bot i Anonim: 8

11.2

Images

Fiier:Diophante_Bezout.svg Surs: https://upload.wikimedia.org/wikipedia/commons/9/94/Diophante_Bezout.svg Licen: GFDL


Contribuitori: image personnelle Artist original: HB
Fiier:Eisenstein_primes.svg Surs: https://upload.wikimedia.org/wikipedia/commons/b/b4/Eisenstein_primes.svg Licen: Public domain Contribuitori: Own work by uploader, based on File:Eisenstein primes.png Artist original: Johannes Rssel (<a href='//commons.
wikimedia.org/wiki/User_talk:Joey-das-WBF' title='User talk:Joey-das-WBF'>talk</a>)
Fiier:Euclidean_algorithm_1071_462.gif Surs: https://upload.wikimedia.org/wikipedia/commons/1/1c/Euclidean_algorithm_1071_
462.gif Licen: CC BY-SA 3.0 Contribuitori: Oper proprie Artist original: Proteins
Fiier:Euclidean_algorithm_252_105_animation_flipped.gif Surs:
https://upload.wikimedia.org/wikipedia/commons/e/e2/
Euclidean_algorithm_252_105_animation_flipped.gif Licen: CC BY-SA 3.0 Contribuitori: Oper proprie Artist original: Proteins
Fiier:Euclidean_algorithm_running_time_X_Y.png Surs:
https://upload.wikimedia.org/wikipedia/commons/2/21/Euclidean_
algorithm_running_time_X_Y.png Licen: Public domain Contribuitori: en:File:Euclidean algorithm running time X Y.png Artist
original: en:User:Fredrik
Fiier:Euklid.jpg Surs: https://upload.wikimedia.org/wikipedia/commons/9/9e/Euklid.jpg Licen: Public domain Contribuitori: http:
//www.aiwaz.net/panopticon/euclid/gi881c129 Artist original: Justus van Gent (. 14601480)
Fiier:Gaussian_primes.png Surs: https://upload.wikimedia.org/wikipedia/commons/8/85/Gaussian_primes.png Licen: Public domain Contribuitori: own work, with Mathematica 6.0 Artist original: User:Hack
Fiier:Square_tiling_24x60.svg Surs: https://upload.wikimedia.org/wikipedia/commons/0/0d/Square_tiling_24x60.svg Licen: CC
BY-SA 3.0 Contribuitori: Oper proprie Artist original: Proteins
Fiier:TorusKnot3D.png Surs: https://upload.wikimedia.org/wikipedia/commons/0/07/TorusKnot3D.png Licen: CC BY-SA 2.5
Contribuitori: Oper proprie Artist original: Michiel Sikma

11.3

Content license

Creative Commons Attribution-Share Alike 3.0