Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA. Jaollisuus à. Tekijöihin jako Kerrataan aluksi muutamia merkintöjä: on luonnollisten lukujen joukko, on kokonaislukujen joukko, on rationaalilukujen joukko ja on reaalilukujen joukko. Siis = {0,, 2, 3,... }, = {0,, 2, 3,... }, = 8 ÅÅÅÅÅ m è!!!» m, n œ, n 0< sekä esimerkiksi luvut p ja 2 ovat joukon alkioita. Luvun (tai yleisesti alkion) a n kuulumista joukkoon A merkitään kirjoittamalla a œ A. Esimerkki. œ, - œ, ÅÅÅÅÅ 3 œ ja è!!!!!! œ. Sanomme, että kokonaisluku d on kokonaisluvun n tekijä (tai jakaja tai että d jakaa luvun n), jos n = kd jollekin k œ. Tällöin käytetään merkintää d» n. Jos lukua k ei ole olemassa, d ei ole luvun n tekijä (ts. d ei jaa lukua n). Tällöin merkitään d I n. Esimerkki.2 Luku d = 3 jakaa luvun n = 6, ts. 3» 6, koska 6 = 2ÿ3. Tässä siis n = k d arvolla k = 2. Toisaalta 3 ei jaa lukua 7, ts. 3 I 7, koska lukua 7 ei voida kirjoittaa muotoon 7 = kÿ3 millekään kokonaisluvulle k. Esimerkki.3 Luvun 6 kaikki tekijät ovat, 2, 3 ja 6. Huomautus Koska 0 = 0 a, niin a» 0 kaikilla a œ (mutta 0 I a jos a 0). Jokaisella luvulla a œ on ns. triviaalit tekijät ja a. Alla ja muissakin kappaleissa annetaan välillä esimerkkejä Mathematica-ohjelmaa käyttäen. Kuitenkaan tämän ohjelman käyttö ei virtuaalikurssin suorituksen aikana ole välttämätöntä. Ajatuksen ymmärtää hyvin itse perustekstistä ja laskuharjoitukset on lähes aina syytä tehdä kynällä ja paperilla. Kokeillaksemme, jakaako kokonaisluku d luvun n, voimme Mathematica-ohjelmassa käyttää funktiota IntegerQ seuraavaan tapaan: n = 28; d = 3; IntegerQ@n ê dd True
Salakirjoitus 2 n = 28; d = 9; IntegerQ@n ê dd False Mathematica-funktio Divisors antaa kaikkien luvun n positiivisten jakajien (ts. tekijöiden) muodostaman listan. Esimerkiksi: n = 5; Divisors@nD 8, 3, 5, 5< n = 2876; Divisors@nD 8, 2, 4, 30469, 60938, 2876< Harjoituksia Onko kokonaisluku 9 seuraavien kokonaislukujen tekijä? a) 57 b) 95 c) 209 d) 000 2 Etsi seuraavien kokonaislukujen kaikki tekijät. a) 57 b) 7 c) 00 d) 024 à.2 Jakoalgoritmi Seuraavan lauseessa esiintyvää yhtälöä a = q b + r, 0 r <» b», nimitetään usein jakoyhtälöksi. Korostamme jatkossa lukujen laskemisen prosessia ja käytämme näin ollen tästä lauseesta nimeä jakoalgoritmi. Lause. Jakoalgoritmi Jos a, b œ, b 0, niin on olemassa sellaiset yksikäsitteiset luvut q, r œ, että a = q b + r, 0 r <» b». Luku r on ns. jakojäännös modulo b. Esimerkki.4 a) Kun a = ja b = 7, voidaan kirjoittaa = 5ÿ7 + 6, missä siis kerroin q = 5 ja jakojäännös r = 6. Mathematicalla voitaisiin laskea seuraavasti: Quotient@, 7D 5
Salakirjoitus 3 Mod@, 7D 6 b) Kun a = ja b = 7, on voimassa = 6ÿ7 +. Tässä kerroin q = 6 ja jakojäännös r =. Quotient@, 7D 6 Mod@, 7D Esimerkki.5 Eri lukujärjestelmiä Kokonaislukuja voidaan muuttaa toisiin lukujärjestelmiin soveltamalla jakoalgoritmia toistuvasti. Yleensä olemme tottuneet käyttämään 0-järjestelmää, jossa esimerkiksi luku 2358 = 2000 + 300 + 50 + 8, toisin sanoen 2358 = 2 ÿ 0 3 + 3 ÿ 0 2 + 5 ÿ 0 + 8 ÿ 0 0. Voimme kuitenkin esittää lukuja muissakin kantajärjestelmissä kuin 0-järjestelmässä. Muutetaan luku 2358 vaikkapa 6-järjestelmään jakamalla toistuvasti luvulla 6: joten 2358 = 47 ÿ 6 + 6, 47 = 9 ÿ 6 + 3, 2358 = 47 ÿ 6 + 6 = (9 ÿ 6 + 3) ÿ 6 + 6 = 9 ÿ 6 2 + 3 ÿ 6 + 6 ÿ 6 0 Siis 2358 = 936 6, missä olemme merkinneet kantaluvun näkyviin alaindeksin avulla. 0-järjestelmän luvuissa ei alaindeksiä yleensä yksinkertaisuuden vuoksi käytetä (luvut 2358 ja 2358 0 tarkoittavat samaa lukua). Vastaavasti voisimme muuttaa luvun 2358 binäärijärjestelmään eli 2-kantaiseen järjestelmään jakamalla toistuvasti luvulla 2. Jätämme muunnoksen tekemisen harjoitustehtäväksi. Tulokseksi saadaan, että 2358 = 000000 2. Totea myös, että 2358 = 6606 7 (7-järjestelmän esitys). Lauseen. (jakoalgoritmi) todistus: ) Oletetaan, että a, b œ, b 0. Todistetaan ensiksi kokonaislukujen q ja r olemassaolo esitysmuodossa a = q b + r, 0 r <» b». Olkoon b > 0. Merkitään S = {n n = a kb, k œ, n 0}.
Salakirjoitus 4 Joukko S on joukon osajoukko. Koska aina voidaan valita k œ niin, että kb a, ts. a kb 0, nähdään että S ei ole tyhjä joukko. Täten hyvinjärjestämisen aksiomin (Well Ordering Axiom) nojalla joukossa S on pienin alkio r. Siis r = a qb eräälle q œ. Koska r œ S, on r 0. Toisaalta r < b, sillä jos olisi r b, niin r b 0 ja r b = (a qb) b = a (q + ) b, joten r b œ S ja r b < r. Tämä on mahdotonta, koska r on joukon S pienin alkio. Siis r < b. Olkoon b < 0. Tällöin b > 0 ja edellä todistetun mukaan on olemassa q, r œ, joille a = q ( b) + r, 0 r < b = b, ts. a = q b + r Täten q ja r toteuttavat Lauseen. ehdot. 2) Todistetaan, että luvut q ja r ovat yksikäsitteiset. Olkoon joillakin luvuilla a ja b kaksi esitystä a = q b + r, 0 r < b, ja a = q b + r, 0 r < b. Tällöin q b + r = q b + r, ts. () (q q ) b = r r. Tapaus. q = q. Tällöin kohdan () nojalla r = r. Tapaus 2. q q. Tällöin q q ja kohdan () nojalla saadaan r r = (q q ) b = q q b b. Tämä on mahdotonta, koska 0 r, r < b (ja täten r r < b ). Näin ollen q = q ja r = r. Harjoituksia 3 Suorita jakolasku 543 : 2 ja kirjoita tulos jakoyhtälönä muodossa jaettava = vaillinainen osamäärä kertaa jakaja plus jakojäännös, ts. muodossa a = q b + r, 0 r <» b», missä a = 543, b = 2, q = vaillinainen osamäärä ja r = jakojäännös. 4 Muunna 0 järjestelmän luku 5 a) binääriluvuksi b) 8 kantaiseen järjestelmään c) esitä luku 234 7 0 järjestelmän lukuna 5 Muuta luku 0 järjestelmän luku 2358 a) binääriluvuksi b) 7 kantaiseen järjestelmään Ñ
Salakirjoitus 5 à.3 Alkuluvut Kokonaisluku p, p >, on alkuluku (prime), jos ja p ovat sen ainoat positiiviset tekijät, ts. jos luvulla p on vain triviaalit tekijät. Kokonaisluku p > on yhdistetty luku, jos se ei ole alkuluku. Asettamalla p = 2, p 2 = 3, p 3 = 5, saadaan luonnollinen alkulukujen numerointi. Tässä yhteydessä esittelemme hyödylliset Mathematica-funktiot Prime ja PrimeQ: k = 00; Prime@kD 54 Luku 54 on siis 00. alkuluku. n = 23456789; PrimeQ@nD False Kysyimme siis, onko luku 23456789 alkuluku vai ei. Vastauksena saatiin että luku 23456789 ei ole alkuluku, vaan yhdistetty luku. Huomaa kuitenkin, että Mathematica Help Browser esittää seuraavan kommentin: è PrimeQ first tests for divisibility using small primes, then uses the Miller-Rabin strong pseudoprime test base 2 and base 3, and then uses a Lucas test. è As of 997, this procedure is known to be correct only for n < 0 6, and it is conceivable that for larger n it could claim a composite number to be prime. Tästä huolimatta ei ilmeisesti tunneta yhtään esimerkkiä tapauksesta, jossa PrimeQ olisi väittänyt yhdistettyä lukua alkuluvuksi. Testin ilmoittaman tuloksen tiedetään kyllä olevan aina oikein silloin, kun vastauksena saadaan False. Tällöin luku on varmasti yhdistetty luku, vaikka sen tekijöihinjakoa ei saataisikaan selville. Todellakin, tekijöihin jakaminen voi olla käytännössä mahdotonta hyvin suurten kokonaislukujen tapauksessa. Esimerkkejä tällaisista vaikeista tapauksista löytyy muun muassa sivulta http://www.rsasecurity.com/rsalabs/challenges/factoring/numbers.html, jossa tarjotaan suuria rahasummia sille, joka jakaa alkulukutekijöihin jonkin siellä esitetystä suuresta kokonaisluvusta. Esimerkiksi yhdestä 74 numeroisesta luvusta luvataan 0 000 dollaria ja toisesta 67 numeroisesta luvusta peräti 200 000 dollaria. k Merkintä: i= a i = a a 2 a k (tulo) Esimerkki. Tarkastellaan muutamia yllä esitettyn tulomuodon käyttöön liittyviä perusesimerkkejä.
Salakirjoitus 6 3 4 i= i = ÿ 2 ÿ 3, i= i 2 = 2 ÿ 2 2 ÿ 3 2 ÿ 4 2, k i= r i= ÅÅÅÅ = ÅÅÅÅ i ÿ ÅÅÅÅ 2 ÿ ÅÅÅÅ 3 ÅÅÅÅ k, I - ÅÅÅÅÅ p i M = I - ÅÅÅÅÅÅ p MI - ÅÅÅÅÅÅ p 2 M I - ÅÅÅÅÅ p r M Lause.2 Eukleides (Euclid) Alkulukuja on ääretön määrä. Todistus: Tehdään vastaoletus, että alkulukujen määrä on äärellinen. Olkoot p, p 2,,p k nämä kaikki alkuluvut. On kuitenkin olemassa lukuja, jotka eivät ole jaollisia millään alkuluvulla p, p 2,,p k. Esimerkiksi m = k H i= p i L + = p ÿ p 2 p k + on sellainen (sillä jakojäännös alkuluvulla jaettaessa on aina = ). Olkoon nyt n pienin näistä kokonaisluvuista, joita ei voida jakaa millään luvuista p, p 2,,p k. Tämä n ei voi olla alkuluku, koska muutoin se olisi listassa p, p 2,,p k. Siis luvulla n on ei-triviaali tekijä d. Mutta tällöin d (< n) on jaollinen jollakin luvuista p, p 2,,p k ja samoin n. Vastaoletus johtaa siis ristiriitaan, joten Lauseen.2 alkuperäinen väite on tosi. Ñ Kahden peräkkäisen alkuluvun välillä voi olla mielivaltaisen pitkä aukko yhdistettyjä lukuja. Esimerkiksi, n - peräkkäistä lukua n!+2, n!+3,, n! +n ovat jaollisia luvuilla 2, 3,, n, vastaavasti. Siten yksikään niistä ei ole alkuluku. Määritelmä. p HnL on niiden alkulukujen lukumäärä, jotka ovat n. Mathematicassa tämä funktio on PrimePi. n = 000; PrimePi@nD 68 Mathematica Help Browser sanoo tästä muun muassa seuraavaa: è Prime and PrimePi use sparse caching and sieving. For large n, the Lagarias-Miller-Odlyzko algorithm for PrimePi is used, based on asymptotic estimates of the density of primes, and is inverted to give Prime. Seuraava Lause.3, jota emme todista, kertoo alkulukujen esiintymisen taajuudesta joukossa. (Ks. esim. [HarW45] Hardy, G.H. and E.M. Wright, An Introduction to the Theory of Numbers, Clarendon Press, Oxford, 945, p. 9; tai Bach E. and J. Shallit, Algorithmic Number Theory, Volume : Efficient Algorithms, Foundations of Computing Series, MIT Press, Cambridge, Massachusetts, 996, p. 203.) Lause.3 Alkulukulause (The Prime Number Theorem) lim nø phnl ÅÅÅÅÅÅÅÅÅÅÅÅÅ n ê ln n =. Lasketaan kokeeksi lausekkeen phnl ÅÅÅÅÅÅÅÅÅÅÅÅÅ n ê ln n numeerinen likiarvo, kun n = 00000:
Salakirjoitus 7 n = 00000; PrimePi@nD n ê Log@nD êê N.0432 Harjoituksia 6 Osoita, että 3 on alkuluku. 7 Mitä tarkoittavat seuraavat tulomuodot? 4 a) i= i 3 n b) i= k i c) i= n ÅÅÅÅÅ d) i 2 i=2 H - ÅÅÅÅ i L 8 Todista hieman eri tavalla (tai kertaa ajatuksella) Lause.2 (Eukleides): Alkulukuja on ääretön määrä. à.4 Suurin yhteinen tekijä ja pienin yhteinen jaettava Esitämme keskeiset määritelmät: Suurin yhteinen tekijä (greatest common divisor, GCD) ja pienin yhteinen jaettava (least common multiple, LCM). Määritelmä.2 Kahden kokonaisluvun a ja b (joista ainakin toinen 0) suurin yhteinen tekijä (syt) on positiivinen kokonaisluku d, jolle on voimassa ja (.) d jakaa molemmat luvut a ja b (.2) jos f jakaa molemmat luvut a ja b, niin f jakaa myös luvun d. Lukujen a ja b suurimmasta yhteisestä tekijästä käytetään merkintää sytha, bl, tai vain Ha, bl. Määritelmä.3 Kahden kokonaisluvun a ja b pienin yhteinen jaettava on positiivinen kokonaisluku m, jolle on voimassa ja (.3) a ja b jakavat luvun m (.4) jos a ja b jakavat luvun n, niin n = k m, k œ. Lukujen a ja b pienimmästä yhteisestä jaettavasta käytetään merkintää pyjha, bl, tai vain @a, bd.
Salakirjoitus 8 Vaihtoehtoiset määritelmät suurimmalle yhteiselle tekijälle sytha, bl ja pienimmälle yhteiselle jaettavalle pyjha, bl voidaan esittää muodossa: sytha, bl on suurin positiivinen kokonaisluku, joka jakaa molemmat luvut a ja b; pyjha, bl on pienin positiivinen kokonaisluku, jonka molemmat luvut a ja b jakavat. Osoittaaksemme, että yllä esitetty suurin yhteinen tekijä on hyvin määritelty, osoitamme ensin luvun syt(a, b) olemassaolon. Tarkastellaan lukujen a ja b lineaarikombinaatioista x a + y b > 0 muodostuvaa joukkoa U = 8xa+ yb» x œ, y œ, xa+ yb> 0<. Olkoon m joukon U pienin alkio. Osoitamme, että m toteuttaa ehdot (.) ja (.2), joten m itse asiassa on juuri etsitty luku syt(a, b). Selvästikin, jos kokonaisluku f jakaa molemmat luvut a ja b, niin f jakaa myös luvun m. Näin ollen m toteuttaa ehdon (2). Lauseen (jakoalgoritmi) nojalla voidaan luku a kirjoittaa muotoon a = qm+ r, 0 r < m. Jos r 0, niin r œ U (sillä m œ U, joten m = xa + yb, ja siis r = a - qm = a - qhxa + ybl = H - qxl a + H-qyL b ). Tämä on ristiriita sen kanssa, että m on joukon U pienin alkio. Siis r = 0, joten m» a. Vastaavasti m» b. Siis m toteuttaa myös ehdon (.). SytHa, bl:n yksikäsitteisyys seuraa ehdoista (.) and (.2). Todellakin, jos d ja d ' molemmat toteuttavat ehdot (.) ja (.2), niin d» d ' ja d '» d. Koska molemmat luvut d ja d ' ovat positiivisia kokonaislukuja, saadaan yhtäsuuruus d = d '. PyjHa, bl:n olemassaolo nähdään seuraavasti: Ne positiiviset kokonaisluvut, jotka molemmat luvut a ja b jakavat, muodostavat ei-tyhjän joukon V. Hyvinjärjestämisen aksiomin nojalla joukossa V on pienin alkio, joka on juuri etsitty pyjha, bl. PyjHa, bl:n yksikäsitteisyys voidaan perustella jäljempänä todistettavan aritmetiikan peruslauseen (Lause.7) avulla. Tämän lauseen nojalla a ja b voidaan esittää tekijöiden järjestystä lukuunottamatta yksikäsitteisellä tavalla alkulukujen p i tulona muodossa a = i p i e i, ei œ, ja b = i Hp i L f i, f i œ. Edelleen voidaan osoittaa, että sytha, bl = i p i minhe i, f i L pyjha, bl = i p i maxhe i, f i L sytha, bl ÿ pyjha, bl = ab. Tarkastellaan näitä tulomuotoisia esityksiä vain lyhyesti seuraavan esimerkin avulla. Esimerkki.2 Olkoon a = 2 5 ÿ 3 2 ÿ 7 2 ja b = 2 4 ÿ 3 3 ÿ 3. Tällöin syt(a, b) = 2 minh5, 4L ÿ 3 minh2, 3L ÿ 7 minh2, 0L ÿ minh0, 3L = 2 4 ÿ 3 2 ÿ 7 0 ÿ 0 pyj(a, b) = 2 maxh5, 4L ÿ 3 maxh2, 3L ÿ 7 maxh2, 0L ÿ maxh0, 3L = 2 5 ÿ 3 3 ÿ 7 2 ÿ 3 sytha, bl ÿ pyjha, bl = (2 4 ÿ 3 2 ÿ 7 0 ÿ 0 )ÿ(2 5 ÿ 3 3 ÿ 7 2 ÿ 3 ) = 2 4+5 ÿ 3 2+3 ÿ 7 0+2 ÿ 0+3 = ab.
Salakirjoitus 9 Arvot sytha, bl (GCD) ja pyjha, bl (LCM) voidaan laskea Mathematicalla seuraavan esimerkin mukaisesti: a = 49; b = 35; GCD@a, bd 7 a = 49; b = 35; LCM@a, bd 245 Jos kahden kokonaisluvun suurin yhteinen tekijä on =, sanomme, että ne ovat suhteellisia alkulukuja (coprime). Yllä esitetyn joukkoa U koskevan tarkastelun tärkeänä seurauksena saadaan seuraava lause. Lause.4 Olkoot a ja b nollasta eroavia kokonaislukuja. Tällöin on olemassa kokonaisluvut u ja v, joille sytha, bl = ua+ vb. Toisin sanoen sytha, bl voidaan esittää lukujen a ja b lineaarikombinaationa. Erityisesti, jos a ja b ovat suhteellisia alkulukuja, on olemassa kokonaisluvut u ja v, joille ua+ vb=. Seuraava lemma on hyvin luonteva. Lemma.5 Olkoon d tulon ab tekijä ja olkoon syt(d, a) =. Tällöin d b. Todistus: Koska sythd, al =, Lauseen.4 nojalla on voimassa xd+ ya= joillekin kokonaisluvuille x ja y. Kertomalla tämä yhtälö puolittain luvulla b, saadaan xdb+ yab= b. Koska d» ab, on a b = c d, jollekin d œ. Siis xdb+ ycd = b, joten d»hxdb+ ycdl, ts. d» b. Ñ Seuraus.6 k Olkoon p alkuluku, joka jakaa tulon i= a i = a a 2 a k, missä a i œ, i k. Tällöin p jakaa ainakin yhden tekijöistä a i, i k. Todistus: Käytä Lemmaa.5 ja induktiota luvun k suhteen. Harjoituksia 9 Laske Esimerkin.2 tavalla syt(a, b) ja pyj(a, b), kun Ñ a = 3 2 ÿ 5 3 ÿ 7 4 ja b = 2 4 ÿ 3 3 ÿ 7 2. Totea näille luvuille, että sytha, bl ÿ pyjha, bl = ab.
Salakirjoitus 0 à.5 Aritmetiikan peruslause Tässä todistetaan Lause.7 Aritmetiikan peruslause (Fundamental Theorem of Arithmetic) Jokainen kokonaisluku a 2 voidaan esittää tekijöiden järjestystä lukuunottamatta yksikäsitteisellä tavalla alkulukujen p i tulona a = i p i e i = p e p 2 e 2 pr e r, ei œ. Todistus: ) Voidaan esittää. Tehdään vastaoletus: On olemassa kokonaislukuja 2, joille ei ole esitystä alkulukujen tulona. Hyvinjärjestämisen aksiomin nojalla on olemassa pienin kokonaisluku n 2, jolle ei ole esitystä alkulukujen tulona. Koska n ei voi olla alkuluku (muuten se olisi sellainen esitys alkulukujen tulona, jossa on yksi tekijä), niin n on yhdistetty luku ja siis esitettävissä muodossa n = n n 2, missä 2 n, n 2 < n. Luvun n valinnasta johtuen luvuilla n ja n 2 on aito esitys alkulukujen tulona. Esimerkiksi n = p p 2 p r ja n 2 = q q 2 q s (p i :t ja q i :t alkulukuja). Tällöin kuitenkin n = n n 2 = p p 2 p r q q 2 q s on alkulukujen tulo. Vastaoletus johtaa näin ollen ristiriitaan. 2) Yksikäsitteisyys. Todistetaan tämä matemaattisella induktiolla. (i) Luvulla 2 on yksikäsitteinen esitys alkulukujen tulona (luku 2 itse). (ii) Induktioaskel. Tehdään induktio-oletus: luvuilla 3, 4, 5,..., n on yksikäsitteinen esitys alkulukujen tulona. Oletetaan nyt, että n = p e p 2 e 2 pr e r = q f q 2 f 2 qs f s, missä jokainen p i, i r, ja jokainen q j, j s, on alkuluku, ja edelleen p < p 2 < < p r ja q < q 2 < < q s, ja e i > 0 kaikilla i r, f j > 0 kaikilla j s. Koska p n, niin p q f q f 2 2 qs f s. Seurauslauseen.6 nojalla p q j jollekin j s. Koska p ja q j ovat alkulukuja, on p = q j. Itse asiassa j =, muutoin ehto q n antaisi q = p a jollekin < a r ja p < p a = q < q j = p, mikä on ristiriita. Siis p = q, joten n = ÅÅÅÅÅÅ n p = p e - p e 2 2 pr e r = q f - q f 2 2 qs f s < n. Koska n < n, niin induktio-oletuksen nojalla r = s, p i = q i aina kun i r ; e = f, joten e = f, ja e i = f i aina kun 2 i r. Näin ollen luvun n esitys alkulukujen tulona on induktioperiaatteen nojalla yksikäsitteinen. Ñ Mathematica-ilmaisu (expression) FactorInteger@nD antaa luvun n tekijät. Funktion arvona saadaan parien muodostama lista. Jokainen pari sisältää luvun n alkulukutekijän ja sen eksponentin. Alla esitetään esimerkkejä tekijöihin jaosta Mathematicaa käyttäen: FactorInteger@24D 882, 3<, 83, << Siis 24 = 2 3 ÿ 3 = 2 3 ÿ 3. Etsitään myös luvun 0 kertoman, ts. luvun 0! = 0 ÿ 9 ÿ 8 2 ÿ kaikki alkulukutekijät.
Salakirjoitus 0! 3628800 FactorInteger@0!D 882, 8<, 83, 4<, 85, 2<, 87, << Olkoon a = 204; b = 303; FactorInteger@aD 882, 2<, 83, <, 87, << FactorInteger@bD 883, <, 80, << Luvun sytha, bl (GCD) jako tekijöihin: FactorInteger@GCD@a, bdd 883, << Luvun pyjha, bl (LCM) jako tekijöihin: FactorInteger@LCM@a, bdd 882, 2<, 83, <, 87, <, 80, << Kokeillaan vielä, että tulos sytha, bl ÿ pyjha, bl = ab on voimassa: GCD@a, bd LCM@a, bd a b True
Salakirjoitus 2 Tekijöihinjako saadaan vielä mukavampaan esitysmuotoon käyttämällä seuraavaa funktiota f. Muodostetaan ensin lista alkulukujen potensseista, joiden laskeminen estetään muuttamalla luvut merkkijonoiksi: f@8p_, e_<d := ToString@pD ToString@eD ; f ê@ FactorInteger@204D 82 2,3,7 < f ê@ FactorInteger@303D 83, 0 < Kehitellään muotoilua vielä niin, että saadaan luvun 30! esitys alkulukujen tulomuodossa: n = 30!; Times @@ Hf ê@ FactorInteger@nDL 2 3 2 7 9 2 26 23 29 3 4 5 7 7 4 Ohjelmoinnista kiinnostunut lukija voisi vielä järjestää tekijät kantaluvun mukaiseen suuruusjärjestykseen. Monipuolista muotoilua varten kannattaa katsoa Mathematica Help Browserista löytyvää komentoa MakeBoxes. Tässä meille kuitenkin riittää ratkaisuksi Infix-komento, joka ei enää muuta lukujen (eikä merkkijonojen) suuruusjärjestystä FactorInteger-komennon antamasta listasta: n = 30!; Infix@Hf ê@ FactorInteger@nDL, " "D 2 26 3 4 5 7 7 4 2 3 2 7 9 23 29 Harjoituksia 0 Kertaa Lauseen.7 (Aritmetiikan peruslause) alkuosan todistus: Jokainen kokonaisluku a 2 voidaan esittää tekijöiden järjestystä lukuunottamatta alkulukujen p i tulona muodossa a = i p i e i, e i œ. Yksikäsitteisyyden todistusta ei tässä siis nyt vaadita.
Salakirjoitus 3 Kaikki etätehtävät kappaleeseen. Jaollisuus. Tekijöihin jako Onko kokonaisluku 9 seuraavien kokonaislukujen tekijä? a) 57 b) 95 c) 209 d) 000 2 Etsi seuraavien kokonaislukujen kaikki tekijät. a) 57 b) 7 c) 00 d) 024.2 Jakoalgoritmi 3 Suorita jakolasku 543 : 2 ja kirjoita tulos jakoyhtälönä muodossa jaettava = vaillinainen osamäärä kertaa jakaja plus jakojäännös, ts. muodossa a = q b + r, 0 r <» b», missä a = 543, b = 2, q = vaillinainen osamäärä ja r = jakojäännös. 4 Muunna 0 järjestelmän luku 5 a) binääriluvuksi b) 8 kantaiseen järjestelmään c) esitä luku 234 7 0 järjestelmän lukuna 5 Muuta luku 0 järjestelmän luku 2358 a) binääriluvuksi b) 7 kantaiseen järjestelmään.3 Alkuluvut 6 Osoita, että 3 on alkuluku. 7 Mitä tarkoittavat seuraavat tulomuodot? 4 a) i= i 3 n b) i= k i c) i= n ÅÅÅÅÅ d) i 2 i=2 H - ÅÅÅÅ i L 8 Todista hieman eri tavalla (tai kertaa ajatuksella) Lause.2 (Eukleides): Alkulukuja on ääretön määrä..4 5 Suurin yhteinen tekijä ja pienin yhteinen jaettava. Aritmetiikan peruslause. 9 Laske Esimerkin.2 tavalla syt(a, b) ja pyj(a, b), kun a = 3 2 ÿ 5 3 ÿ 7 4 ja b = 2 4 ÿ 3 3 ÿ 7 2. Totea näille luvuille, että sytha, bl ÿ pyjha, bl = ab.
Salakirjoitus 4 0 Kertaa Lauseen.7 (Aritmetiikan peruslause) alkuosan todistus: Jokainen kokonaisluku a 2 voidaan esittää tekijöiden järjestystä lukuunottamatta alkulukujen p i tulona muodossa a = i p i e i, e i œ. Yksikäsitteisyyden todistusta ei tässä siis nyt vaadita.