Also ich habe jetzt eine Funktion gemacht mit der ich Primzahlen ermitteln kann und ich gehe mal davon aus, dass sie stimmt...(siehe weiter unten...)
Mein eigentliches problem ist, wie kann ich die Funktion Prim() beschleunigen, indem nicht so viel unnütz gesucht wird?
Muss bei der Untersuchung, ob 197 eine Primzahl ist, wirklich getestet werden, ob 196 ein Teiler ist?
Wie groß kann der größte echte Teiler denn höchstens sein?
Kann vielleicht noch ein bisschen „früher“ festgestellt werden, dass es gar keinen echten Teiler gibt und die Zahl daher eine Primzahl ist?
Option Explicit
Function IstPrim(zahl As Integer) As Boolean
Dim i As Integer
IstPrim = True
If zahl <= 1 Then
IstPrim = False
Else
If (zahl Mod 2) = 0 Then 'Gerade Zahl
IstPrim = False
Else 'Ungerade Zahl
For i = 3 To zahl - 1
If (zahl Mod i) = 0 Then 'Teiler i gefunden
IstPrim = False
End If
Next
End If
End If
End Function
Bitte um Hilfe! Ich möchte auch irgendwann einmal ein Profi sein