Stef Joseph-Kruyswijk Altijd met iets bezig

Zeef van Eratosthenes

Om te bepalen of een getal een priemgetal is, kan je de Zeef van Eratosthenes gebruiken. Om getallen te controleren kan 'Trial Division' worden gebruikt, hiermee weet je 100% zeker of een getal een priemgetal is. Het nadeel is dat 'Trial Division' is dat het arbeidsintensief is. Om dit proces te versnellen wordt de zeef van Eratosthenes gebruikt. Het controleren vindt niet meer plaats met alle getallen, maar alleen met priemgetallen.

Priemgetal

Een priemgetal is een natuurlijk getal groter dan 1, met precies twee delers. Het getal 21 heeft als delers 1, 3, 7 en 21. Met vier delers is het geen priemgetal. Het getal 23 heeft als delers 1 en 23. Met twee delers is het wel een priemgetal. Het getal 2 is de eerste priemgetal, met als delers 1 en 2. Omdat 2 een even getal is, zijn alle overige even getallen hierdoor geen priemgetallen. Alle even getallen zijn deelbaar door 2.

Alle delers proberen (Trial Division)

Om te controleren of een getal een priemgetal is, berekenen we het aantal delers. In onderstaande tabel controleren we de getallen 7, 9 11, 13, 15 en 17.

7
7 : 1 = 7
7 : 2 = 3,5
7 : 3 = 2,333
7 : 4 = 1,75
7 : 5 = 1,4
7 : 6 = 1,167
7 : 7 = 1
9
9 : 1 = 9
9 : 2 = 4,5
9 : 3 = 3
9 : 4 = 2,25
9 : 5 = 1,8
9 : 6 = 1,5
9 : 7 = 1,286
9 : 8 = 1,125
9 : 9 = 1
11
11 : 1 = 11
11 : 2 = 5,5
11 : 3 = 3,667
11 : 4 = 2,75
11 : 5 = 2,2
11 : 6 = 1,833
11 : 7 = 1,571
11 : 8 = 1,375
11 : 9 = 1,222
11 : 10 = 1,1
11 : 11 = 1
13
13 : 1 = 13
13 : 2 = 6,5
13 : 3 = 4,333
13 : 4 = 2,75
13 : 5 = 2,6
13 : 6 = 2,167
13 : 7 = 1,857
13 : 8 = 1,625
13 : 9 = 1,444
13 : 10 = 1,3
13 : 11 = 1,182
13 : 12 = 1,08
13 : 13 = 1
15
15 : 1 = 15
15 : 2 = 7,5
15 : 3 = 5
15 : 4 = 3,25
15 : 5 = 3
15 : 6 = 2,5
15 : 7 = 2,143
15 : 8 = 1,875
15 : 9 = 1,667
15 : 10 = 1,5
15 : 11 = 1,364
15 : 12 = 1,25
15 : 13 = 1,25
15 : 14 = 1,071
15 : 15 = 1
17
17 : 1 = 17
17 : 2 = 8,5
17 : 3 = 5,667
17 : 4 = 4,25
17 : 5 = 3,4
17 : 6 = 2,833
17 : 7 = 2,429
17 : 8 = 2,125
17 : 9 = 1,889
17 : 10 = 1,7
17 : 11 = 1,545
17 : 12 = 1,417
17 : 13 = 1,417
17 : 14 = 1,214
17 : 15 = 1,133
17 : 16 = 1,063
17 : 17 = 1
Tabel 1: de getallen delen van 1 tot en met het getal zelf

Later beginnen en eerder eindigen

Na het analyseren van tabel 1, is te zien dat 7, 11, 13 en 17 priemgetallen zijn. Deze hebben precies 2 delers. Er valt nog iets op. Zodra het resultaat van de deling onder de twee komt (9 : 5 = 1,8), wordt geen deler meer worden gevonden. Behalve het getal zelf. Daarbij is elk getal deelbaar door 1, deze controle vervalt dus.
Omdat bekend is of het getal even of oneven is, vervalt het delen door 2. Hierdoor beginnen we niet meer bij 1, maar bij 3. De controles vinden niet meer plaats t/m het getal, maar t/m de helft van het getal. Als de helft geen natuurlijk getal is, ronden we af naar beneden. We delen alleen door natuurlijke getallen en alle resultaten na het delen horen minimaal 2 te zijn.
De gegevens in tabel 1 wordt bijgewerkt met de nieuwe informatie, met onderstaande tabel als resultaat.

7
7 : 3 = 2,333
7
7 : 3 = 2,333
11
11 : 3 = 3,667
11 : 4 = 2,75
11 : 5 = 2,2
13
13 : 3 = 4,333
13 : 4 = 2,75
13 : 5 = 2,6
13 : 6 = 2,167
15
15 : 3 = 5
15 : 4 = 3,25
15 : 5 = 3
15 : 6 = 2,5
15 : 7 = 2,143
17
17 : 3 = 5,667
17 : 4 = 4,25
17 : 5 = 3,4
17 : 6 = 2,833
17 : 7 = 2,429
17 : 8 = 2,125
Tabel 2: delers beginnen bij 3 en eindigen voor de helft van het getal

Een aanname

Bij het analyseren van tabel 1 (of 2), valt nog iets op. Het moment dat bewezen wordt dat het getal geen priemgetal is. Een deler is gevonden wanneer de wortel van het getal is bereikt. Neem het getal 9, met als wortel 3. Wanneer we de deler 3 zijn, is bewezen dat het geen priemgetal is. Neem het getal 15, met als wortel 3,873. Ook bij het getal 15 is een deler (3) gevonden wanneer de wortel is bereikt.
We controleren het getal 2047, met als wortel 45,244. Bij het bereiken van de wortel, horen we te weten of het een priemgetal is. Zie onderstaande tabel met de resultaten.

2047 : 3 = 682,333
2047 : 6 = 341,167
2047 : 9 = 227,444
2047 : 12 = 170,583
2047 : 4 = 511,75
2047 : 7 = 292,429
2047 : 10 = 204,7
2047 : 13 = 157,462
2047 : 5 = 409,4
2047 : 8 = 255,875
2047 : 11 = 186,091
2047 : 14 = 146,214
2047 : 15 = 136,467
2047 : 18 = 113,722
2047 : 21 = 97,476
2047 : 16 = 127,938
2047 : 19 = 107,737
2047 : 22 = 93,045
2047 : 17 = 120,412
2047 : 20 = 102,35
2047 : 23 = 89
2047 : 3 = 682,333
2047 : 5 = 409,4
2047 : 7 = 292,429
2047 : 9 = 227,444
2047 : 11 = 186,091
2047 : 13 = 157,462
2047 : 15 = 136,467
2047 : 17 = 120,412
2047 : 19 = 107,737
2047 : 21 = 97,476
2047 : 23 = 89
2047 : 4 = 511,75
2047 : 6 = 341,167
2047 : 8 = 255,875
2047 : 10 = 204,7
2047 : 12 = 170,583
2047 : 14 = 146,214
2047 : 16 = 127,938
2047 : 18 = 113,722
2047 : 20 = 102,35
2047 : 22 = 93,045

Tabel 3: het vinden van de eerste deler van 2047

Het bewijs voor de maximale deler

Een deler is gevonden wanneer de wortel is bereikt, als het getal geen priemgetal is. Dit valt als volgt te bewijzen. Neem de formule: n = m x l. Met deze formule geldt het volgende: wanneer m groter wordt, wordt l kleiner. En andersom. Stel dat m en l gelijk zijn, dan is de maximale deler is nooit hoger dan de wortel.
Stel n is 16, met als wortel 4. In dit geval weten we dat 4 een deler is. Als de wortel niet de deler is, dan moet een van de delers lager (2) of hoger (8) zijn dan deze wortel. De gegevens in tabel 2 passen we aan met de nieuwe informatie en krijgen onderstaande tabel.

7
17 : 3 = 5,667
9
9 : 3 = 3
17 : 3 = 5,667
11
11 : 3 = 3,667
17 : 3 = 5,667
13
13 : 3 = 4,333
17 : 3 = 5,667
15
15 : 3 = 5
17 : 3 = 5,667
17
17 : 3 = 5,667
17 : 4 = 4,25
Tabel 4: de overgebleven stappen om te bepalen of het een priemgetal is

Voor de kleinere priemgetallen hebben we niet veel controles nodig, Voor het getal 7 is zelfs geen controle meer nodig.

Het toepassen van een zeef

Wanneer het getal niet deelbaar is door 2, moet dan ook gecontroleerd worden of het deelbaar is door 4, 6 of 8? Als het deelbaar is door 2, dan is het een even getal. Hierdoor hoef je niet te controleren of het deelbaar is door andere even getallen. Is het deelbaar is door 4, dan is het ook deelbaar door 2. Hetzelfde geldt voor 6 en 8. Is het deelbaar door 3, dan hoeven we niet te controleren of het ook deelbaar is door 6, 9 of 12. Hierdoor vallen stappen weg. Maar welke blijven over?
We gebruiken een tabel met de getallen 2 t/m 49. We nemen steeds het eerste getal en filteren de overige delers.

2345678
9101112131415
16171819202122
23242526272829
30313233343536
37383940414243
444546474849
Tabel 5: de getallen 2 t/m 49 nu nog gebruikt als deler

We beginnen met 2, waarna we onderstaande tabel krijgen.

235791113
15171921232527
29313335373941
43454749
Tabel 6: de overgebleven delers na het filteren met 2

Het volgende getal is 3, na het filteren ziet de tabel er als volgt uit.

2357111317
19232529313537
41434749
Tabel 7: de overgebleven delers na het filteren met 3

Het volgende getal is 5, na het filteren ziet de tabel er als volgt uit.

2357111317
19232931374143
4749
Tabel 8: de overgebleven delers na het filteren met 5

Het volgende getal is 7, na het filteren ziet de tabel er als volgt uit.

2357111317
19232931374143
47
Tabel 9: de overgebleven delers na het filteren met 7

Priemgetallen als deler

Wat valt op aan de getallen in tabel 9? De overgebleven getallen zijn priemgetallen. Om sneller priemgetallen te vinden, heb je andere priemgetallen nodig.
We controleren 2047 nog een keer. In tabel 3 is na 21 delers bewezen dat 2047 geen priemgetal is. Door gebruik te maken van de zeef, blijven de volgende delers over: 3, 5, 7, 11, 13, 17, 19 en 23. Een verschil van dertien delers.

Bronnen

Leesvoer

Het vermoeden van Goldbach

Hoofdstelling van de rekenkunde

Zeef van Eratosthenes

Priemgetallen: de veilige basis van de beveiliging op internet? (extern)