Beiträge von anfänger_engel

    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 ^^