Een priemgetal is een geheel positief getal dat groter is dan 1 en alleen deelbaar is door 1 en zich zelf. Een geheel positief getal wordt ook wel een natuurlijk getal genoemd.
Met behulp van de zelf gedefinieerde functie IsPriem(Getal) kan achterhaald worden of een getal een priemgetal is of niet.
'-----------------------------------------------------------------------------------------------------------------------
' Auteur : pascalterheege.nl
' Datum : 16-3-2016
' Object : modFunctie
' Doel : priemgetal berekenen
' Bron : https://support.microsoft.com/nl-nl/kb/202782
' http://beterrekenen.nl/website/index.php?pag=248
'-----------------------------------------------------------------------------------------------------------------------
Option Explicit
'-----------------------------------------------------------------------------------------------------------------------
' Datum : 16-3-2016
' Type : Subroutine
' Opmerking : een priemgetal is:
' 1. Een getal
' 2. Een geheel getal
' 3. Groter dan 1
' 4. En niet deelbaar door een ander getal dan 1 en zich zelf
'-----------------------------------------------------------------------------------------------------------------------
Public Function IsPriem(Getal) As Boolean
' 1. Een getal
If Not IsNumeric(Getal) Then Exit Function
' 2. Een geheel getal
If Getal - Int(Getal) <> 0 Then Exit Function
' 3. Groter dan 1
If Not Getal > 1 Then Exit Function
' 4. En niet deelbaar door een ander getal dan 1 en zich zelf
If Deelbaar(Getal) = True Then Exit Function
IsPriem = True
End Function
'-----------------------------------------------------------------------------------------------------------------------
' Datum : 16-3-2016
' Type : Subroutine
' Opmerking : 4. En niet deelbaar door een ander getal dan 1 en zich zelf
'-----------------------------------------------------------------------------------------------------------------------
Private Function Deelbaar(Getal) As Boolean
Dim AnderGetal As Integer
AnderGetal = 1
For AnderGetal = 1 To Getal
If Getal Mod AnderGetal = 0 Then 'Getal is deelbaar door een ander getal
If AnderGetal > 1 Then 'Het andere getal is groter dan 1
If AnderGetal <> Getal Then 'Het andere getal is niet gelijk aan het getal
Deelbaar = True 'DUS > GEEN PRIEMGETAL
Exit For
End If
End If
End If
Next AnderGetal
End Function
Download hier het oefenbestand.

