Donnerstag, 28. November 2013

Java: Primzahlen berechnen

Dieses Script gibt alle Primzahlen bis zu einer definierten Grenze ( hier beim Wert 1000) aus:

int limit = 1000; // Bis zu dieser Zahl wird auf Primzahlen untersucht
        long zahl = 2; // Startwert = Die erste Primzahl
        int zaehler = 0; // Zählt die gefundenen Primzahlen hoch
        //long[] prim = new long[limit / 3]; // Speichert die gefundenen
        long[] primzahlen = new long[limit];    // Primzahlen

        System.out.println("Tabelle der Primzahlen bis " + limit);
        System.out.println("");

        while (zahl < limit)
        {
            boolean primzahl = true;
            for (int i = 0; i < zaehler; i++) // Jede natürliche Zahl ist durch Primzahlfaktoren darstellbar
            {
                if (primzahlen[i] * primzahlen[i] > zahl)
                    break; //Abbruch --> Vielfaches übersteigt Limit
                if ((zahl % primzahlen[i]) == 0) // Wenn kein Rest bleibt wird Primzahl auf false gesetzt --> KEINE Primzahl
                    primzahl = false;
            }
            if (primzahl == true)
            {
                primzahlen[zaehler] = zahl; // Primzahl speichern...
                System.out.print(zahl + " "); // Ausgabe der Primzahlen
                // Nach jeweils 20 Zahlen Neue Zeile
                if (zaehler % 20 == 0)
                {
                    System.out.println("");
                }
                zaehler++; // zaehler erhöhen...
            }
            zahl++; // nächster Testwert
        }
        System.out.println("\n \nEs wurden " + zaehler + " Primzahlen im Zahlenbereich bis " + limit + " gefunden! \n");

Keine Kommentare:

Kommentar veröffentlichen