Euklidov algoritam
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 naći ćemo tako da uzastopno oduzimamo dok ne dođemo do prvog pozitivnog broja manjeg od Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle b.} Zatim oduzimamo višekratnike broja od i dobivamo Sada računamo na sličan način, itd. Uočimo da dijeli svaku razliku Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle r_{n-1}-q_{n+1}r_{n}} pa zato postupak ponavljamo konačno mnogo puta sve dok ne dođemo do Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle d-d=0.}
U dokazima Euklidova algoritma, često se koristi sljedeća važna lema.
- Neka je za prirodne brojeve Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle a>b,0\leq r<b} . Tada vrijedi Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle M(a,b)=M(b,r)} .
Naime, ako je tada iz gornje jednakosti slijedi Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle d\vert r} . No, onda mora biti Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle d\leq e.} Analogno, pa je Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle e\leq d} .
Dobivamo Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle e=d} , tj. .
Geometrijski dokaz
Zamislimo da imamo dvije dužine prirodnih duljina Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle |a|>|b|} te neka je Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle M(|a|,|b|)=|d|.} Dakle, zamišljamo da je najdulja dužina od svih onih dužina koje možemo nanijeti prirodan broj puta, dakle bez ostatka, na obje dužine Tada je naravno Uočimo da ovdje znamo najveću zajedničku mjeru dužina pa ćemo tako lagano pokazati valjanost algoritma.
Napomena. Ako je moguće neku duljinu Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle l'} nanijeti prirodan broj puta i pokriti cijelu dužinu Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle l} te vrijedi , reći ćemo da Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle l'} ulazi u Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle l.}
Očito ulazi i u razliku tj. od dužine oduzimamo dužinu onoliko puta dok ne dođemo do dijela dužine koja nije duža od i dobivamo dužinu Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle r.} Očito ulazi u Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle r,} ali manji ili jednak broj puta nego u jer je Sada oduzimamo Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle r_{1}=b-q_{1}r,} 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 Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle d.} Ovaj postupak mora imati konačno mnogo koraka pa ćemo, prema tome, u nekom trenutku doći do dužina duljina što zaista jest najveća zajednička mjera dužina 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 . Nije teško pokazati da za broj koraka Euklidovog algoritma za brojeve vrijedi Obrada nije uspjela. (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle j<2\log _{2}{b}.}
Izvori
- ↑ Andrej Dujella, Teorija brojeva, Školska knjiga, Zagreb, 2019.
- ↑ https://mathcs.clarku.edu/~djoyce/elements/bookVII/propVII1.html