Eukleideen algoritmi

Tehtävät on jaoteltu värin mukaan helppoihin, perus ja vaikeisiin tehtäviin.

Tehtävä 1.1. Kirjoita jakoyhtälö seuraaville jakolaskuille.

a. 216\frac {21}{6}

b.12823\frac{128}{23}

c. 4810\frac{48}{10}

Jakoyhtälö on muotoa a=bq+ra=b*q+r eli jaettava=jakajaosama¨a¨ra¨+jakoja¨a¨nno¨sjaettava = jakaja \cdot osamäärä + jakojäännös

a. 21=63+321 = 6 \cdot 3+3
b. 128=235+13128=23\cdot5+13
c. 48=104+848=10\cdot 4+8

Tehtävä 1.2. Mitkä ovat kohdan 1.1. jakoyhtälöiden kokonaisosat ja jakojäännökset?

a. kokonaisosa q=3 ja jakojäännös r=3
b. kokonaisosa q=5 ja jakojäännös r=13
c. kokonaisosa q=4 ja jakojäännös r=8

Tehtävä 2. Selvitä suurin yhteinen tekijä ilman laskutoimituksia, tarkastelemalla annettuja välivaihteita.

a. syt(99, 63)

välivaiheet

99=631+3699=63\cdot1+36
63=361+2763=36\cdot1+27
36=271+936=27\cdot1+9
27=93+027=9\cdot3+0

b. syt(187, 121)

välivaiheet

a187=1211+66187=121\cdot1+66
121=661+55121=66\cdot1+55

55=115+055=11\cdot 5+0

c. syt(143,104)

välivaiheet

143=1041+39143=104\cdot1+39
104=392+26104=39\cdot2+26
39=261+x39=26\cdot1+x
26=x2+026=x\cdot2+0

a. Suurin yhteinen tekijä on 9

b. Suurin yhteinen tekijä on 11

c. Suurin yhteinen tekijä on 13

Tehtävä 3. Laske suurin yhteinen tekijä Eukleideen algoritmin avulla.

  1. syt(32, 18)
  2. syt(244, 56)
  3. syt(721, 679)

a. syt(32, 18)
32=181+1432=18\cdot1+14
18=141+418=14\cdot1+4
14=43+214=4\cdot3+2
4=22+04=2\cdot 2+0

vastaus: Suurin yhteinen tekijä on 2

b. syt(244,56)
244=564+20244=56\cdot 4+20
56=202+1656=20\cdot2+16
20=161+420=16\cdot1+4
16=44+016=4\cdot4+0

vastaus: Suurin yhteinen tekijä on 4

c. syt(721, 679)
721=6791+42721=679\cdot 1+42
679=4216+7679=42\cdot16+7
42=76+042=7\cdot6+0

vastaus: Suurin yhteinen tekijä on 7

Tehtävä 4. Selvitä suurin yhteinen tekijä alkuluku hajotelmien avulla. Kirjoita näkyviin luvun alkutekijät ja suurin yhteinen tekijä.

  1. syt(32, 18)
  2. syt(721, 679)
  3. syt(336, 99)

a.
32=162=228=2224=22222=2532=16\cdot2=2\cdot2\cdot8=2\cdot2\cdot2\cdot4=2\cdot2\cdot2\cdot2\cdot2=2^5
18=92=332=23218=9\cdot2=3\cdot3\cdot2=2\cdot3^2
Suurin yhteinen tekijä on 2

b.
721=7103721=7\cdot103
679=797679=7\cdot 97
Suurin yhteinen tekijä on 7

c.
336=2112=3256=32228=322214=322227=2437336=2\cdot112=3\cdot2\cdot56=3\cdot2\cdot2\cdot28=3\cdot2\cdot2\cdot2\cdot14=3\cdot2\cdot2\cdot2\cdot2\cdot7=2^4\cdot3\cdot7
99=333=3311=321199=3\cdot33=3\cdot3\cdot11=3^2\cdot11
Suurin yhteinen tekijä on 3

Tehtävä 5. Selvitä pitävätkö seuraavat laskut paikkansa, perustele vastaus Eukleideen algoritmin avulla.

  1. syt(40, 24) = 4
  2. syt(21, 14) =7
  3. syt(391, 299)=23

a. syt(40,24)
40=241+1640=24\cdot1+16
24=161+824=16\cdot1+8
16=82+016=8\cdot 2+0

vastaus: syt(40,24)4syt(40{,}24)\ne4 eli vastaus ei ole totta, koska syt(40,24)=8syt(40{,}24)=8 eli lukujen suurin yhteinen tekijä on 8.

b. syt(21,14)=7
21=141+721=14\cdot1+7
14=72+014=7\cdot2+0

vastaus: syt(21, 14) =7 on totta, koska lukujen suurin yhteinen tekijä on 7

c. syt(391, 299)=23
391=2991+92391=299\cdot1+92
299=923+23299=92\cdot3+23
92=234+092=23\cdot4+0

vastaus: syt(391, 299)=23 on totta, koska lukujen suurin yhteinen tekijä on 23

Tehtävä 6. Ratkaise suurin yhteinen tekijä Eukleideen algoritmin avulla, kun lauseke on muotoa syt(syt(a, b), c).

  1. syt(syt(102, 170), 85)
  2. syt(syt(1144, 650), 422)

a. syt(syt(102, 170), 85)
syt(102,170)syt\left(102{,}170\right)
170=1021+68170=102\cdot 1+68
102=681+34102=68\cdot1+34
68=342+068=34\cdot2+0

syt(34,85)syt\left(34{,}85\right)
85=342+1785=34\cdot 2+17
34=172+034=17\cdot2+0

vastaus: Suurin yhteinen tekijä on 17

b. syt(syt(1144, 650), 422)
syt(1144,650)syt(1144,650)
1144=6501+4941144=650\cdot1+494
650=4941+156650=494\cdot1+156
494=1563+26494=156\cdot3+26
156=266+0156=26\cdot 6+0

syt(26, 442)syt\left(26{,}\ 442\right)
422=2616+6422=26\cdot16+6
26=64+226=6\cdot4+2
6=23+06=2\cdot 3+0

vastaus: Suurin yhteinen tekijä on 2

Tehtävä 7. Ratkaise x ja y Eukleideen algoritmin avulla.

Tee Eukleideen algoritmi → löydä syt.

Kirjoita joka rivi jakojäännösyhtälönä.

Aloita yhtälöstä, jossa vasemmalla on syt.

Korvaa esiintyvät jakojäännökset niiden omilla yhtälöillä.

Jaa sulut, yhdistä termit.

Jatka kunnes kaikki on muodossa ax+byax + by.

Lue x ja y.

33x+57y=3 
syt(33,57)syt(33, 57)
57=331+2457=33\cdot1+24
33=241+933=24\cdot1+9
24=92+624=9\cdot2+6
9=61+39=6\cdot1+3
6=32+06=3\cdot2+0
syt(33,57)=3syt(33,57)=3

jakojäännös yhtälöt:
24=5733124=57-33\cdot1
9=332419=33-24\cdot1
6=24926=24-9\cdot2
3=9613=9-6\cdot1

Sijoitetaan yhtälöön jakojäännösyhtälöiden arvot alhaalta ylöspäin:
3=9613=9-6\cdot1
korvataan 6:
3=9(2492)3=9-(24-9\cdot2)
3=924+923=9-24+9\cdot2
3=39243=3\cdot9-24
korvataan 9:
3=3(3324)243=3\cdot(33-24)-24
3=333+3(24)243=3\cdot33+3\cdot(-24)-24
3=3334243=3\cdot33-4\cdot24
korvataan 24:
3=3334(5733)3=3\cdot33-4\cdot(57-33)
3=3334574(33)3=3\cdot33-4\cdot57-4\cdot(-33)
3=333457+4333=3\cdot33-4\cdot57+4\cdot33
3=7334573=7\cdot33-4\cdot57

vastaus: x=7 ja y=-4

Tehtävä 8. Ratkaise ohjelmallisesti Eukleideen algoritmi niin, että koodi tulostaa näkyviin jakoyhtälön kaikki välivaiheet sekä suurimman yhteisen tekijän.

Koodi:

def toteuttaa_jakoyhtalo(a, b):

    r = a % b

    jakojaannokset = []

    while r != 0:

        q = a // b

        r = a % b

        print(f”{a} = {b} * {q} + {r}”)

        a = b

        b = r

        jakojaannokset.append(r)

    return f”Suurin yhteinen tekijä on {jakojaannokset[len(jakojaannokset)-2]} eli toiseksi viimeinen jakoyhtälön jakojäännös.”

print(toteuttaa_jakoyhtalo(1819, 867))

Tuloste:

1819 = 867 * 2 + 85
867 = 85 * 10 + 17
85 = 17 * 5 + 0
Suurin yhteinen tekijä on 17 eli toiseksi viimeinen jakoyhtälön jakojäännös.