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.
01 | '----------------------------------------------------------------------------------------------------------------------- |
02 | ' Auteur : pascalterheege.nl |
03 | ' Datum : 16-3-2016 |
04 | ' Object : modFunctie |
05 | ' Doel : priemgetal berekenen |
08 | '----------------------------------------------------------------------------------------------------------------------- |
09 |
10 | Option Explicit |
11 |
12 | '----------------------------------------------------------------------------------------------------------------------- |
13 | ' Datum : 16-3-2016 |
14 | ' Type : Subroutine |
15 | ' Opmerking : een priemgetal is: |
16 | ' 1. Een getal |
17 | ' 2. Een geheel getal |
18 | ' 3. Groter dan 1 |
19 | ' 4. En niet deelbaar door een ander getal dan 1 en zich zelf |
20 | '----------------------------------------------------------------------------------------------------------------------- |
21 |
22 | Public Function IsPriem(Getal) As Boolean |
23 |
24 | ' 1. Een getal |
25 | If Not IsNumeric(Getal) Then Exit Function |
26 |
27 | ' 2. Een geheel getal |
28 | If Getal - Int(Getal) <> 0 Then Exit Function |
29 |
30 | ' 3. Groter dan 1 |
31 | If Not Getal > 1 Then Exit Function |
32 | |
33 | ' 4. En niet deelbaar door een ander getal dan 1 en zich zelf |
34 | If Deelbaar(Getal) = True Then Exit Function |
35 | |
36 | IsPriem = True |
37 |
38 | End Function |
39 |
40 | '----------------------------------------------------------------------------------------------------------------------- |
41 | ' Datum : 16-3-2016 |
42 | ' Type : Subroutine |
43 | ' Opmerking : 4. En niet deelbaar door een ander getal dan 1 en zich zelf |
44 | '----------------------------------------------------------------------------------------------------------------------- |
45 |
46 | Private Function Deelbaar(Getal) As Boolean |
47 |
48 | Dim AnderGetal As Integer |
49 |
50 | AnderGetal = 1 |
51 | |
52 | For AnderGetal = 1 To Getal |
53 | |
54 | If Getal Mod AnderGetal = 0 Then 'Getal is deelbaar door een ander getal |
55 | If AnderGetal > 1 Then 'Het andere getal is groter dan 1 |
56 | If AnderGetal <> Getal Then 'Het andere getal is niet gelijk aan het getal |
57 | Deelbaar = True 'DUS > GEEN PRIEMGETAL |
58 | Exit For |
59 | End If |
60 | End If |
61 | End If |
62 | |
63 | Next AnderGetal |
64 |
65 | End Function |
Download hier het oefenbestand.