Een priemgetal is een natuurlijk getal groter dan 1, dat slechts door 1 en zichzelf deelbaar is. In deze opgave schrijven we enkele functies omtrent priemgetallen.

Definieer als eerste een functie isPriemgetal, die voor een gegeven geheel getal teruggeeft of het een priemgetal is of niet. Je hoeft hierbij geen rekening te houden met negatieve getallen.

*Main> isPriemgetal 2
True
*Main> isPriemgetal 5
True
*Main> isPriemgetal 6
False

Schrijf vervolgens een functie allePriemgetallen, die de lijst van alle priemgetallen teruggeeft. Maak hiervoor gebruik van isPriemgetal en list comprehensions. Merk op dat deze lijst oneindig is1.

*Main> allePriemgetallen !! 0
2
*Main> allePriemgetallen !! 1
3
*Main> allePriemgetallen !! 2
5
*Main> allePriemgetallen !! 1000
7927

Tenslotte schrijf je de functie geefPriemgetallen. geefPriemgetallen verwacht een geheel (natuurlijk) getal \(n\) als input en geeft een lijst van de \(n\) kleinste priemgetallen terug.

*Main> geefPriemgetallen 10
[2,3,5,7,11,13,17,19,23,29]
*Main> geefPriemgetallen 15
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]

Vergeet geen type-annotaties toe te voegen!