Az így létrehozott hálózat, a PrimeNet olyan, mint egy virtuális szuperszámítógép, másodpercenként 29 billió művelet végrehajtására képes, amely valóban a szuperszámítógépekéhez fogható teljesítmény. A két újjal együtt a GIMPS mostanáig 12 Mersenne-prímmel gazdagította az emberiséget. A következő pályázat díja 150 ezer dollár. Az kapja meg, aki százmilliónál több jegyből álló Mersenne-prímszámot talál. 2016-ban talált prímszám: 2018-ban talált prímszám:. Ez a prímszám 23 249 425 számjegyet tartalmaz és ez 50. ismert Mersenne-prím is. (2 77 232 917 –1). 2018. év végén talált 51. Mersenne-prím már 24, 862, 048 számjegyből áll. (2 82 589 933 –1) Az eddig ismert nagyon nagy prímszámok közül néhányat megtalálsz ebben a táblázatban. Hogyan lehet egy számról megállapítani, hogy prím-e? A fenti gigantikus méretű számoknál bizony nagyon nehéz. De ezeknél jóval kisebb számoknál sem egyszerű. Prímszámok 100 in english. A második Fermat tétel néha segít ennek eldöntésében. A második, vagy kis-Fermat tétel a következőt mondja ki: Ha p prímszám, a pedig egy olyan tetszőleges egész szám, amely nem osztható p -vel, akkor az a p-1 -t p -vel osztva 1 -t ad maradékul.
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 [ szerkesztés]
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
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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. A pszeudokód [ szerkesztés]
Az algoritmus pszeudokódja:
// legfeljebb ekkora számig megyünk el
utolso ← 100
// abból indulunk ki, hogy minden szám prímszám
ez_prim(i) ← igaz, i ∈ [2, utolso]
for n in [2, √utolso]:
if ez_prim(n):
// minden prím többszörösét kihagyjuk,
// a négyzetétől kezdve
ez_prim(i) ← hamis, i ∈ {n², n²+n, n²+2n, …, utolso}
for n in [2, utolso]:
if ez_prim(n): nyomtat n
Programkód C-ben [ szerkesztés]
#include for ( int i = 2; i <= M; ++ i) tomb [ i] = true; //2-től indítjuk a for-t, alapból mindent igazra állítunk.