Euklideszi algoritmus
Az euklideszi algoritmus[1] egy számelméleti algoritmus, mellyel két szám legnagyobb közös osztója határozható meg.
Nevét az ókori görög matematikusról, Eukleidészről kapta.
Tartalomjegyzék |
[szerkesztés] Formális leírása
Legyen
Az algoritmus első lépésében maradékosan osztjuk a-t b-vel, a második lépésben b-t a maradékkal, majd az előbbi maradékot az új maradékkal, és így tovább, mindig az osztót a maradékkal.
Így a következő lépéssorozatot kapjuk:
ahol
A maradék véges sok lépés után nulla lesz, hiszen amíg nem nulla, addig minden lépésben legalább eggyel csökkenni fog, tehát az utolsó lépésnél:
A keresett legnagyobb közös osztó az rn, azaz az utolsó nem nulla maradék.
[szerkesztés] Az algoritmus helyes működésének bizonyítása
- a és b bármely közös osztója osztja r1-et is, hiszen
, és két szám közös osztója a különbségüket is osztja.
- Hasonlóképpen b és r1 bármely közös osztója osztja a-t is, hiszen
, és két szám közös osztója az összegüket is osztja.
Ezekből következik, hogy a és b közös osztói megegyeznek b és r1 közös osztóival, és így a legnagyobb közös osztójuk is azonos:
Ez a gondolatmenet minden lépésre ugyanígy megismételhető, azaz
rn − 1 és rn legnagyobb közös osztója már könnyen meghatározható, hiszen a fentebbiek szerint
, azaz
Vagyis rn osztja rn − 1-et, így a legnagyobb közös osztó maga rn:
Az algoritmus tehát helyesen működik.
[szerkesztés] Példa
A 360 és a 225 legnagyobb közös osztójának meghatározása az euklideszi algoritmussal:
Tehát a legnagyobb közös osztó a 45.
[szerkesztés] Jegyzetek
- ↑ A matematikus nevének szabatos átírása Eukleidész volna, tehát a szerkezet eukleidészi algoritmus, de ebben a kifejezésben hagyományosan rögzült euklideszi alakban (lásd például Püthagorasz, de Pitagorasz-tétel stb.).
[szerkesztés] Hivatkozások
- D.E.Knuth: A számítógépprogramozás művészete 1. Alapvető algoritmusok, Műszaki Könyvkiadó, Budapest, 2. kiadás, 1994, ISBN 963 1600750, 25-34. o.









, és két szám közös osztója a különbségüket is osztja.


, azaz





