Priemgetallen zijn een belangrijk concept in de wiskunde, met vele toepassingen in het dagelijkse leven.

❗ Begrip - Priemgetal

Een priemgetal is een natuurlijk getal, groter dan 1, dat enkel deelbaar is door 1 en door zichzelf.

De eerste 10 priemgetallen zijn 2, 3, 5, 7, 11, 13, 17, 19, 23 en 29.

🧐 Wist je dat…

er oneindig veel priemgetallen bestaan? Een van de wetenschappers die dit bewezen heeft is (opnieuw) Euclides. Wetenschappers zoeken gedurig naar steeds grotere priemgetallen; voor het vinden ervan worden prijzen toegekend van meer dan 150 000 dollar. Het grootste priemgetal dat momenteel gekend is, bestaat uit bijna 25 miljoen cijfers en is ontdekt in 2018. Grote priemgetallen als deze worden uiteraard door computers berekend.

👀 Voorbeeld - Priemgetallen

De onderstaande functie print alle priemgetallen tot n. Deze functie is een eenvoudig voorbeeld van een algoritme.

def priem(n):
    # ga alle getallen af tussen 2 en n
    # 1 niet, want is geen priemgetal
    for num in range(2, n+1):
        # isPriem is waar
        isPriem = True
        # ga alle getallen af die kleiner zijn dan het huidige getal
        for i in range(2, num):
            # ga na of het huidige getal deelbaar is door i
            if (num % i) == 0:
                # indien we een deler vinden, is isPriem onwaar
                isPriem = False
        if isPriem:
            print(num)

Probeer deze code uit in de sandbox. Je zal er helaas geen nieuw priemgetal mee vinden, want het algoritme is niet erg efficiënt.

Vroeger werd er steed gedacht dat priemgetallen enkel bruikbaar waren in de zuivere wiskunde. Sinds de jaren ‘70 weten we beter. Priemgetallen worden nu onder meer gebruikt voor het genereren van random getallen, voor het berekenen van het aantal kammen in de aandrijving van windmolens om slijtage tegen te gaan en voor het versleutelen van communicatie met het RSA-algoritme.

windmill

Het RSA-algoritme wordt gebruikt voor het beveiligen van transacties, bijvoorbeeld bij overschrijvingen of online betalingen. Het zorgt ervoor dat de transactie tussen de juiste personen gebeurt en dat buitenstaanders deze transactie niet kunnen begrijpen omdat ze geëncrypteerd is. Het RSA-algoritme is gebaseerd op de ontbinding in factoren: het is extreem moeilijk en bijna onmogelijk om uit een getal m de twee factoren p en q te halen zodat m=p × q, indien p en q grote priemgetallen zijn.

key

In de berekeningen van de sleutels voor het versleutelen van informatie wordt het algoritme van Euclides gebruikt voor het vinden van een grootste gemeenschappelijke deler.

Het beveiligen van transacties is een onderdeel van de cryptografie, de wetenschap van het beveiligen en versleutelen van communicatie tussen zender en ontvanger. In de cryptografie worden complexe wiskundige algoritmes gebruikt om ervoor te zorgen dat een persoon met slechte bedoelingen niet zomaar mee kan luisteren/lezen.

👀 Voorbeeld - WhatsApp

Wanneer je een WhatsApp-bericht stuurt naar een nieuw contact, zie je de volgende boodschap:

Berichten en gesprekken worden end-to-end versleuteld. Niemand buiten deze chat kan ze lezen of beluisteren, zelfs WhatsApp niet.

whatsapp

🧐 Wist je dat…

je ook in de natuur priemgetallen terugvindt? De larven van de magicicada (een soort insect) ontpoppen na 13 of 17 jaar om ervoor te zorgen dat hun cyclus niet samenvalt met die van roofdieren.

💻 Programmeeroefening - Priemgetallen

Kopieer en plak het algoritme om priemgetallen te vinden in de editor hieronder om dit onderdeel af te ronden.