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
-t
-vel, a második lépésben
-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
, azaz az utolsó nem nulla maradék.
[szerkesztés] Az algoritmus helyes működésének bizonyítása
és
bármely közös osztója osztja
-et is, hiszen
, és két szám közös osztója a különbségüket is osztja.
- Hasonlóképpen
és
bármely közös osztója osztja
-t is, hiszen
, és két szám közös osztója az összegüket is osztja.
Ezekből következik, hogy
és
közös osztói megegyeznek
és
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
és
legnagyobb közös osztója már könnyen meghatározható, hiszen a fentebbiek szerint
, azaz
Vagyis
osztja
-et, így a legnagyobb közös osztó maga
:
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





