Euklidov algoritam

Izvor: testwiki
Prijeđi na navigaciju Prijeđi na pretraživanje

Euklidov algoritam je osnovni postupak pronalaženja najvećeg zajedničkog djelitelja ili najveće zajedničke mjere dvaju prirodnih brojeva u elementarnoj teoriji brojeva.[1]

Ovaj je teorem i njegov dokaz prvi naveo Euklid u sedmoj knjizi čuvenih Elemenata. Algoritam je unatoč svojoj jednostavnosti i danas vrlo koristan te se i dalje uspješno primjenjuje.

Ako imamo neka dva prirodna broja a>b naći ćemo M(a,b)=d tako da uzastopno oduzimamo r=aqb dok ne dođemo do prvog pozitivnog broja r manjeg od b. Zatim oduzimamo višekratnike broja r od b i dobivamo b=q1r+r1,0r1<r Sada računamo r=q2r1+r2 na sličan način, itd. Uočimo da d dijeli svaku razliku rn1qn+1rn pa zato postupak ponavljamo konačno mnogo puta sve dok ne dođemo do dd=0.

U dokazima Euklidova algoritma, često se koristi sljedeća važna lema.

Neka je a=bq+r za prirodne brojeve a>b,0r<b. Tada vrijedi M(a,b)=M(b,r).

Naime, ako je M(a,b)=d,M(b,r)=e tada iz gornje jednakosti slijedi d|r. No, onda mora biti de. Analogno, e|a pa je ed.

Dobivamo e=d, tj. M(a,b)=M(b,r).

Geometrijski dokaz

Zamislimo da imamo dvije dužine a,b prirodnih duljina |a|>|b| te neka je M(|a|,|b|)=|d|. Dakle, zamišljamo da je d najdulja dužina od svih onih dužina koje možemo nanijeti prirodan broj puta, dakle bez ostatka, na obje dužine a,b. Tada je naravno a=kd,b=md,k>m. Uočimo da ovdje znamo najveću zajedničku mjeru dužina a,b pa ćemo tako lagano pokazati valjanost algoritma.

Napomena. Ako je moguće neku dužinu l nanijeti prirodan broj puta i pokriti cijelu dužinu l te vrijedi |l|,|l|, reći ćemo da l ulazi u l.

Očito d ulazi i u razliku 0aqb<b, tj. od dužine a oduzimamo dužinu b onoliko puta dok ne dođemo do dijela dužine a koja nije duža od b i dobivamo dužinu r. Očito d ulazi u r, ali manji ili jednak broj puta nego u b jer je |r||b|. Sada oduzimamo r1=bq1r, i tako dalje.

Svakim korakom od veće dužine oduzimamo kraću za onoliko puta koliko treba da od dulje dužine dobijemo dužinu kraću (ili jednako dugu) od dužine koja je u koraku prije bila dulja. Te su dužine zapravo uvijek višekratnici dužine d. Ovaj postupak mora imati konačno mnogo koraka pa ćemo, prema tome, u nekom trenutku doći do dužina duljina 1d,1d, što zaista jest najveća zajednička mjera dužina a,b. Time je algoritam opravdan.[2]

Dodajmo još da je sličan dokaz ovome naveo i sam Euklid.

Učinkovitost algoritma

Neka imamo dva prirodna broja a>b. Nije teško pokazati da za broj koraka j Euklidovog algoritma za brojeve a,b vrijedi j<2log2b.

Izvori

Predložak:Izvori

  1. Andrej Dujella, Teorija brojeva, Školska knjiga, Zagreb, 2019.
  2. Euclid's Elements