migges_at_work Geschrieben 12. Oktober 2005 Teilen Geschrieben 12. Oktober 2005 Hi, also ich möchte ein Prog schreiben in welches ich ein Intervall eingeben kann und das mir das Prog dann ausgibt welche Primzahlen in diesem Intervall liegen! Mein Problem ist aber dabei das ich es nicht hinbekomme das alle Zahlen ausgegeben werden, sondern nur die größte Primzahl. Kann mir da jemand helfen? Hier ist der Code wie ich ihn bis jetzt habe: Option Compare Database Option Explicit Public z As Boolean Public x As Double Public y As Double Private Sub Befehl2_Click() If eingabe >= 1 And eingabe2 > eingabe Then For x = eingabe To eingabe2 z = True For y = 2 To x - 1 If x Mod y = 0 Then z = False End If Next y If z = True Then ausgabe = x End If Next x Else ausgabe = "Es gibt keine Primzahlen in diesem Intervall!" End If End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Carnie Geschrieben 12. Oktober 2005 Teilen Geschrieben 12. Oktober 2005 hab zwar nicht deinen eigentlichen Fehler so direkt gefunden aber zumindest kannste dir die Hälfte der Berechnungen sparen wenn du die zweite Schleife nur bis x/2 laufen lässt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Oktober 2005 Teilen Geschrieben 12. Oktober 2005 Du hast nur eine Variable "ausgabe", und da schreibst du die gefundenen Primzahlen rein. Dabei überschreibst du den Wert, der vorher drinstand. Logisch, dass dann hinterher nur die letzte drinsteht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
migges_at_work Geschrieben 12. Oktober 2005 Autor Teilen Geschrieben 12. Oktober 2005 ich hab so das gefühl wenns zu einfach is, sehe ich meist die fehler ned naja so gehts: Option Compare Database Option Explicit Public z As Boolean Public x As Long Public y As Long Public lala As String Private Sub Befehl2_Click() If eingabe >= 1 And eingabe2 > eingabe Then For x = eingabe To eingabe2 z = True For y = 2 To x - 1 If x Mod y = 0 Then z = False End If Next y If z = True Then lala = lala & " " & y ausgabe = lala End If Next x Else ausgabe = "Es gibt keine Primzahlen in diesem Intervall!" End If End Sub Private Sub Befehl5_Click() DoCmd.OpenForm "projekt" DoCmd.Close acForm, "primzahl" End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.