2

C++

Frage von matzemoto86 matzemoto86

Ich möchte bei C++ eine Ausgabe nur von Primzahlen haben, ich weiß aber nicht wie ich das machen soll! Kann mir bitte jemand helfen??

Fragen zu gleichen Themen finden

Antworten (4)

  • 0
    Antwort von ichweisnix ichweisnix

    Eine einfache Variante ist das Sieb des Eratostheness.

    /// Man erzeugt ein Array:

    bool * isprime = new bool[C]

    /// Dann setzt man alle zahlen auf true.

    for(int i=0;i

    Kommentar von ichweisnix ichweisnixichweisnix

    Mist, macht einfach meinen Text kaput. \

  • 0
    Antwort von zeta24 zeta24

    Es gibt mehrer Möglichekeiten, eine Primzahl zu finden. In welcher Grössenordnung sollen die Primzahlen denn liegen? Oder möchtest Du nur die ersten paar Millionen Primzahlen wissen? Wenn es sich um eine Hausaufgabe aus dem Schulunterricht handelt, schau Dir mal das Sieb des Erathostenes an. Wenn Du weist, wie man modulo rechnet, schau Dir den Rabin-Miller Primzahltest an. Weitere Primzahltests findest Du in der Wikipedia. Die ersten 37 Millarden Primzahlen bis 1000000000000 findest Du auf meiner Webseite.

  • 0
    Antwort von Hamster0815 Hamster0815

    Wieso gerade C++? Wenn du C++ kannst dann dürfte es kein Problem sein das zu realisieren! bei intresse hätte ich eine lösung in VB 2005

  • 0
    Antwort von benutzer27 benutzer27

    Da es keine Berechnungsformel für Primzahlen gibt (wurde noch nicht gefunden), bleibt dir nichts anderes übrig als es durch probieren herauszufinden. Die ersten 3 kannst du ja fest setzen (1, 2, 3 kennt jeder), danach musst du eine Schleife für jede Zahl durchlaufen, wobei du prüfst ob du eine Zahl zwischen 2 und int((n+1)/2) findest, die n ohne Rest teilt. Falls ja, dann ist es keine Primzahl, falls nein, dann hast du eine gefunden und gibst sie aus. Das ganze machst du solange, bis jemand eine Taste drückt, dass Programm abbricht oder ein vorher festgelegter Maximalwert erreicht wurde.

    Beispiel für die 7: prüfe von 2 bis int((7+1)/2)=4 ob 7 ohne Rest teilbar: 7/2 -> nein, 7/3 -> nein, 7/4 -> nein, damit ist 7 eine Primzahl

    Beispiel für die 12: prüfe von 2 bis int((12+1)/2)=6 ob 12 ohne Rest teilbar: 12/2 -> ja, damit keine Primzahl

    Die Umsetzung in C++ sollte jetzt ein leichtes sein.

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.