Je hebt ondertussen veel verschillende dingen geleerd over programmeren in Python, zoals variabelen, datatypes, operatoren, de print functie, for-loops, en hoe je een subtotaal kan bijhouden. In deze oefening ga je al je kennis combineren om een algoritme te maken. Dat wil zeggen dat je moet plannen hoe de functie stap voor stap moet werken, en het daarna pas kan implementeren.
Een priemgetal is een positief geheel getal dat deelbaar is door exact twee verschillende getallen: 1 en zichzelf. Het laagste (en enige even) priemgetal is 2. De eerste 10 priemgetallen zijn:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29
.
In de wiskunde zijn priemgetallen heel belangrijk. Ze worden ook wel de “bouwstenen” van de getallen genoemd, omdat elk positief geheel getal groter dan 1 kan worden geschreven als een product van priemgetallen. Bijvoorbeeld, 28 kan worden geschreven als 2 * 2 * 7, en 30 kan worden geschreven als 2 * 3 * 5. Priemgetallen spelen ook een belangrijke rol in de cryptografie, wat de wetenschap is van het veilig communiceren. Veel moderne encryptie-algoritmen zijn gebaseerd op de eigenschappen van priemgetallen.
Maak een functie True terug als het een priemgetal is, en False als het dat niet is.
Er is echter een grote uitdaging toegevoegd: de tijdslimiet is flink verlaagd, dus je moet je code efficiënt maken zodat het geen time-out krijgt. Dit vraagt zowel om wiskundig inzicht als om programmeervaardigheden.
| Invoer | → | Verwachte returnwaarde | Uitleg |
|---|---|---|---|
| → | True |
2 is deelbaar door 2 getallen: 1 en zichzelf (2). | |
| → | True |
3 is deelbaar door 2 getallen: 1 en zichzelf (3). | |
| → | False |
4 is deelbaar door 3 getallen: 1, 2, en 4. | |
| → | False |
15 is deelbaar door 4 getallen: 1, 3, 5, en 15. | |
| → | False |
1 is enkel deelbaar door 1 getal: 1. | |
| → | True |
113 is deelbaar door 2 getallen: 1 en zichzelf (113). |