Code -> C++



  • Hallo Leute,

    ich hab einen Primzahlschlüssel entdeckt (auf der Seite 4). Leider kann ich ihn nicht anwenden, da er nicht in C++ ist. Kann mir das bitte jemand umwandeln?
    Ich danke für jeden Beitrag



  • Das is doch Pseudocode, wo ist das Problem ? Setz den doch einfach in C um !



  • Wqs sind denn COMPOSITE, gcd, das komische Zeichen mit drei horizontalen und einem diagonalen Strich und <--?



  • CME386 schrieb:

    Wqs sind denn COMPOSITE, gcd, das komische Zeichen mit drei horizontalen und einem diagonalen Strich und <--?

    COMPOSITE ist dann wohl das Gegenteil von PRIME -> zusammengesetzt
    gcd -> ggT
    das komische Zeichen mit drei horizontalen und einem diagonalen Strich -> a <drei Striche einfügen> b (mod n) :<=> n | a-b (n teilt a-b) d.h. a ist kongruent zu b modulo n und der diagonale Strich bedeutet "gilt nicht"



  • Danke für eure Hilfe 👍 . Werd mich morgen direkt dransetzen



  • Hi,

    kannst du mir den Code dann auch mal zuschicken? Ich habe dasselbe Problem...

    Danke



  • Ich hab mir es anders überlegt. Ich hab mir eine Datei angefertigt, in der ich Primzahlen speicher. Das hat den Vorteil, dass es schneller geht als mit der Formel. Ich bin jetzt bei 376 127. Damit kann man jede Zahl bis 141 471 520 129 überprüfen. Ich bin noch am erweitern...
    @c++eus: Wenn du willst, mail ich dir die Datei. Du musst mir nur deine e-mail-Adresse geben



  • Hi,

    vielen Dank, aber ich habe ein Programm für Excel:

    Sub Division()
       Anfang = UserForm1.TextBox1.Value
       Ende = UserForm1.TextBox2.Value
       On Error GoTo Err_zahl
       Y = Timer
       For I = 2 To Ende
          Zahlen(I) = I
       Next I
       P = 1
       For I = 2 To Ende
          If Zahlen(I) <> 0 Then
             J = 2 * I
             Do While J <= Ende
                Zahlen(J) = 0
                J = J + I
             Loop
             primz(P) = I
             P = P + 1
          End If
       Next I
       R = 2
       C = 1
       M = 0
       I = 0
       Do
          L = primz(I)
          I = I + 1
          S = I
       Loop Until L >= Anfang - 1
       If S > 4 Then
          S = S - 1
       End If
       For I = S To P - 1
          L = primz(I)
          Cells(R, C) = L
          C = C + 1
          M = M + 1
          If M = 10 Then
             R = R + 1
             C = 1
             M = 0
          End If
       Next I
       Z = Timer
       Cells(1, 10) = Z - Y
       Range("D1").Select
       Exit Sub
    Err_zahl:
       MsgBox "Die eingegebene Zahl ist zu groß!"
    End Sub
    

    Damit kannst du die Datei villeicht schneller erstellen.



  • Ich hab kein Excel. Ich denke, mein Programm ist schneller als deins (auch wenn ich deins nicht verstehe). Ich geb einen Raum an, der nach Primzahlen durchsucht werden soll. Das Programm nimmt die erste Zahl, zieht die Wurzel und macht eine Division durch alle kleineren Primzahlen, also zahl%primzahlKleinerAlsDieWurzel. Wenn der Rest 0 ist, wird die Zahl in die Primzahldatei gespeichert. Dann kommt die nächste dran, bis alle durch sind. Ich wüsste nicht, wie es schneller gehen sollte.


Log in to reply