VB 6 Programm für Primzahlen

godi

Level-1
Beiträge
1.460
Reaktionspunkte
185
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe jetzt ein Programm geschrieben zur Ermittlung von Primzahlen zwischen zwei Zahlen (von bis):

Code:
Option Explicit
 
Private Sub Form_Load()
txtPrimzahl.Locked = True
txtvon = 0
txtbis = 100
End Sub
 
Private Sub cmdErmitteln_Click()
Dim von As Long
Dim bis As Long
Dim Primzahl As Long
Dim Mögliche_Zahlen As Long
Dim Divisor As Long
Dim Rest As Long
Dim boolPrimzahl As Boolean
Dim Zahl As Long
 
If Not IsNumeric(txtvon) Then
    MsgBox prompt:=("Geben sie bitte eine Zahl für 'Von' ein!")
    Exit Sub
End If
 
If Not IsNumeric(txtbis) Then
    MsgBox prompt:=("Geben sie bitte eine Zahl für 'bis' ein!")
    Exit Sub
End If
 
txtPrimzahl.Text = ""
von = txtvon
bis = txtbis
Zahl = 0
 
'Ermittle Primzahlen
For Mögliche_Zahlen = von To bis                 'Ermitteln der Zahlen die in Frage kommen können
    For Divisor = 2 To Mögliche_Zahlen - 1       'Divisor ermitteln (2 bis Mögliche Zahl minus 1)
        Rest = Mögliche_Zahlen Mod Divisor       'Ermittle den Rest
        If Rest = 0 Then                         'Kontrolliere ob Rest überbleibt
            boolPrimzahl = True
        End If
    Next
    DoEvents
    If Not boolPrimzahl And Not (Mögliche_Zahlen = 0 Or Mögliche_Zahlen = 1) Then
        Zahl = Zahl + 1
        Primzahl = Mögliche_Zahlen
        txtPrimzahl.Text = txtPrimzahl.Text & "Primzahl " & Zahl & ": " & Primzahl & vbCrLf
    End If
    boolPrimzahl = False
Next
 
End Sub

1) Kann man das Programm einfacher auch noch schreiben?
2) Wenn ich die Primzahlen von 0 bis 100000 haben will dann bleibt das Programm bei 28433 stehen. Warum ist das so?

godi
 
Zurück
Oben