Oszthatósággal kapcsolatos feladatok pszeudokódban. Prímszámok nélkül van élet?
Prímszámok alkalmazási területe Rendkívül nagy prímszámokat (amelyek nagyobbak, mint 10100) használnak számos nyílt kulcsú titkosítás algoritmusában. A prímeket használják még hasítótáblákhoz (hash tables) és álvéletlenszám- generátorokhoz. Kriptográfiai alkalmazásokban (például az RSA nyilvános kulcsú rejtjelezőnél) gyakran van szükség nagy (többszáz jegyű) prímszámok keresésére. Ezt legtöbbször véletlen számok generálásával és prímtesztelésével végzik.
Hány prímszám van? Tágabb értelemben, ha az egész számok gyűrűjében vizsgálódunk, prímszámnak azokat a számokat nevezzük, melyeknek csak pontosan két pozitív osztójuk van. Minden, a természetes számok körében prímnek számító szám az egész számok körében is prím, és ezek ellentettjei is (és ez az összes tágabb értelemben vett prímszám). Pl. 2 és -2, 3 és -3 prímek, és ha z prím, akkor (és csak akkor) -z is az (az algebrai számelmélet nyelvén, a prímek egymáshoz asszociált párokat alkotnak, melyeknek ha rendre csak ha a pozitív tagjait tekintjük, akkor pontosan a természetes számok körében prímnek számító számokat kapjuk). Egy még újabb megfogalmazásban, tágabb értelemben prím egy egész szám akkor, ha abszolút értéke (szűkebb értelemben) prím. Adott x Végtelen sok prímszám van. Ennek az állításnak a legrégibb bizonyítását Euklidész adta meg Elemek című munkájában. Euklidész állítása a következő: „a prímszámok darabszáma nagyobb bármely adott (véges) számnál” Adott x A 0 nem prímszám (hiszen végtelen sok osztója van, minden n természetes szám osztja 0=0*n miatt) és - emiatt - nem is felbonthatatlan. Az 1-et, bár „felbonthatatlannak” lenne tekinthető ama tág értelemben, miszerint nincs nem-triviális osztója, mégsem tekintjük prímszámnak (ennek valószínű okát ld. lentebb), és a prímszámoknak mind a matematikai hagyományra épülő, mind az algebrai számelméletben szokásos definíciója (ld. irreducibilis elem). A legelső (legkisebb) pozitív prímszámok a következők: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, … Találj példákat a primek használatára? Szám prímtényezős felbontása. Definiáld a primszámot!
Eratoszthenész szitája Hol alkalmazod ezt a keresési, kiválogatást végző módszert? Döntsd el egy számról, hogy prím! Naiv módszer A legegyszerűbb módszer a következő: az adott egész számot sorra elosztjuk a nála határozottan kisebb pozitív egész számokkal. Ha van ezek között olyan, 1-től különböző szám, ami az adott egész számnak osztója, akkor a szám nem prím; ellenben viszont, ha nincs, akkor ez a szám egy prímszám. Egy nagyon primitív pszeudokód formájában a következőképp „algoritmizálhatjuk” ezt: 1). legyen s=2; és olvassuk be a tesztelendő n egész számot, 2). ha n=0 vagy n=1, akkor sem nem prím, sem nem összetett; STOP; ha n>2, menjünk 3).-ra 3). Képezzük az m=<n mod s> maradékot; ha ez 0 és m<n, akkor n nem prím, STOP; ha m=n, akkor n prím, STOP; ha pedig az előző esetek egyike sem teljesül, ekkor tehát m<n és m nem nulla, legyen s=s+1, és menjünk 3).-ra.
Szekvenciális keresés Keresd ki 1-től n-ig, ahol n egy természetes szám a prímeket! Hogyan jársz el. Írd le a lépéseket.
Szekvenciális keresés Keresd meg anélkül a prímeket 1-től n-ig, hogy minden közbeeső számról eldöntöd, hogy prim-e vagy sem! Adj ötletet!
Eratoszthenész szitája Hol alkalmazod ezt a keresési, kiválogatást végző módszert? Animáció Eratoszthenész szitája a neves ókori görög matematikus, Eratoszthenész módszere, melynek segítségével egyszerű kizárásos algoritmussal megállapíthatjuk, hogy melyek a prímszámok – papíron például a legkönnyebben 1 és 100 között. Az algoritmus 1. Írjuk fel a számokat egymás alá 2-től ameddig a prímtesztet elvégezni kívánjuk. Ez lesz az A lista. (Az animáció bal oldalán.) 2. Kezdjünk egy B listát 2-vel, az első prím számmal. (Az animáció jobb oldalán.) 3. Húzzuk le 2-t és az összes többszörösét az A listáról. 4. Az első át nem húzott szám az A listán a következő prím. Írjuk fel a B listára. 5. Húzzuk át az így megtalált következő prímet és az összes többszörösét. 6. Ismételjük a 3–5. lépéseket, amíg az A listán nincs minden szám áthúzva. animáció bal oldala animáció jobb oldala 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Eratoszthenész szitája 20 18 A csapatok végezzék el az A3-as lapon a szűrést négy különböző intervallumra. Minden csapattag egy bizonyos intervallumon dolgozzon. 16 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 12 18 10 15 25 8 12 20 6 9 15 4 6 10 2 3 5
Eratoszthenész szitája Szabályok lekövetkeztetése a következő kérdések figyelembevételével: Miért nem lett kihúzva a prím, vegyél egy konkrét prímszámot a szitából. Írd le azokat a szabályokat, amiért ő nem lett kihúzva. Milyen távolságra vanna a prímek egymástól? Mit jelent az, hogy a szorzás kommutatív, ebben a feladatban? Tehát hányadik többszörösét vesszük legelsőként az aktuális rákövetkező számnak. És ez a rákövetkező szám a 2-es után a hányas szám? Milyen tulajdonsággal bír?