Ero sivun ”Eukleideen algoritmi” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Thijs!bot (keskustelu | muokkaukset)
p Botti lisäsi: eo:Eŭklida algoritmo
→‎Kiinalaisten käyttämä algoritmi: HTML-muotoilun tilalle wikiä
Rivi 44: Rivi 44:


=== Kiinalaisten käyttämä algoritmi ===
=== Kiinalaisten käyttämä algoritmi ===
Kiinalaiset 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 pienempää suuremmasta. Kun luvut ovat samat, algoritmi päättyy ja ko. luku on suurin yhteinen tekijä.


<table border=1 width="40%">
{| border=1 width=400
|- align="right"
<tr>
| 31 || 31 || 6 || 6 || 6 || 6 || 6 || ... || 1
<td align=right>31</td>
<td align=right>31</td>
|- align="right"
| 56 || 25 || 25 || 19 || 13 || 7 || 1 || ... || 1
<td align=right>6</td>
|}
<td align=right>6</td>
<td align=right>6</td>
<td align=right>6</td>
<td align=right>6</td>
<td align=right>...</td>
<td align=right>1</td>
</tr>
<tr>
<td align=right>56</td>
<td align=right>25</td>
<td align=right>25</td>
<td align=right>19</td>
<td align=right>13</td>
<td align=right>7</td>
<td align=right>1</td>
<td align=right>...</td>
<td align=right>1</td>
</tr>
</table>



Etsitään syt(15,25).
Etsitään syt(15,25).
Rivi 83: Rivi 64:


Kiinalaisittain:
Kiinalaisittain:

<table border=1 width="20%">
{| border=1 width=200
<tr>
<td align=right>25</td>
|- align="right"
| 25 || 10 || 10 || 5
<td align=right>10</td>
<td align=right>10</td>
|- align="right"
| 15 || 15 || 5 || 5
<td align=right>5</td>
|}
</tr>
<tr>
<td align=right>15</td>
<td align=right>15</td>
<td align=right>5</td>
<td align=right>5</td>
</tr>
</table>


[[Luokka:Lukuteoria]]
[[Luokka:Lukuteoria]]

Versio 26. marraskuuta 2008 kello 21.46

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 pienempää suuremmasta. Kun luvut ovat samat, algoritmi päättyy ja ko. luku on suurin yhteinen tekijä.

31 31 6 6 6 6 6 ... 1
56 25 25 19 13 7 1 ... 1

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