Ero sivun ”Eukleideen algoritmi” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
LaaknorBot (keskustelu | muokkaukset)
p Botti lisäsi: nn:Euklidsk algoritme
Rivi 46: Rivi 46:
[[Kiina]]laiset suorittivat saman algoritmin [[helmitaulu]]ssa seuraavasti:
[[Kiina]]laiset suorittivat saman algoritmin [[helmitaulu]]ssa seuraavasti:


Vähennä toistuvasti pienempää suuremmasta. Kun luvut ovat samat, algoritmi päättyy ja ko. luku on suurin yhteinen tekijä.
Vähennä toistuvasti pienempi luku suuremmasta. Kun luvut ovat keskenään yhtä suuret, algoritmi päättyy ja kyseinen luku on suurin yhteinen tekijä.


<!-- Tämä esimerkki piiloon sillä se vain hämää koska luvuilla 56 ja 31 ei ole yhteisiä tekijöitä
{| border=1 width=400
{| border=1 width=400
|- align="right"
|- align="right"
Rivi 53: Rivi 54:
|- align="right"
|- align="right"
| 56 || 25 || 25 || 19 || 13 || 7 || 1 || ... || 1
| 56 || 25 || 25 || 19 || 13 || 7 || 1 || ... || 1
|}
|}
-->

Etsitään syt(15,25).
Esimerkki etsitään syt(15,25).


25 = 1 * 15 + 10.<br />
25 = 1 * 15 + 10.<br />
Rivi 63: Rivi 64:
eli syt(15,25) = 5.
eli syt(15,25) = 5.


Kiinalaisittain:
"Kiinalaisittain":


{| border=1 width=200
{| border=1 width=200

Versio 10. maaliskuuta 2012 kello 17.10

Eukleideen algoritmin on keino, jonka avulla voidaan selvittää kahden kokonaisluvun suurin yhteinen tekijä (syt). Algoritmi perustuu jakoyhtälön perättäiseen käyttöön.

Eukleideen algoritmi etenee seuraavasti:

  • Ensin kirjoitetaan jakoyhtälö luvuilla a ja b
  • Seuraavaksi kirjoitetaan jakoyhtälö luvulle b ja edellisen jakoyhtälön jakojäännökselle
  • Toistetaan niin usein, että jakojäännökseksi saadaan nolla.
  • Lukujen a ja b suurin yhteinen tekijä on viimeisin nollasta eroava jakojäännös

Algoritmi

Olkoot luvut a ja b kokonaislukuja ja b erisuuri kuin nolla. Käyttämällä toistuvasti jakoyhtälöä saadaan:

...

.

Algoritmi päättyy, koska luvut r0, r1, ...,rn muodostavat aidosti vähenevän jonon positiivisia kokonaislukuja.

Viimeinen jakojäännös rn jakaa (tasan) luvut a ja b:

Alimmasta yhtälöstä rn jakaa luvun rn-1.
Koska , niin rn jakaa luvun rn-2
Näin jatkamalla saadaan lopulta, että rn jakaa b:n ja a:n.

Jos luvuilla a ja b on yhteinen tekijä c, ts. sanoen a ja b ovat tasan jaollisia luvulla c, c jakaa luvun r0, r1, ... yllä olevien yhtälöiden nojalla. Näin siis c jakaa luvun rn, joka on siten yhteisistä tekijöistä suurin.

Esimerkkejä

Määritetään lukujen 112 ja 408 suurin yhteinen tekijä eli syt(112, 408).

Määritetään lukujen suurin yhteinen tekijä Eukleideen algoritmin avulla:

Lukujen 112 ja 408 suurin yhteinen tekijä on siis kahdeksan eli syt(112, 408)=8.

Kiinalaisten käyttämä algoritmi

Kiinalaiset suorittivat saman algoritmin helmitaulussa seuraavasti:

Vähennä toistuvasti pienempi luku suuremmasta. Kun luvut ovat keskenään yhtä suuret, algoritmi päättyy ja kyseinen luku on suurin yhteinen tekijä.

Esimerkki etsitään syt(15,25).

25 = 1 * 15 + 10.
15 = 1 * 10 + 5.
10 = 2 * 5 + 0.

eli syt(15,25) = 5.

"Kiinalaisittain":

25 10 10 5
15 15 5 5

Aiheesta muualla

Eukleideen algoritmi, online sovellus

Malline:Link FA