types:arrays:eratosthenes:loesung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | types:arrays:eratosthenes:loesung [2024/08/31 10:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Lösung zu Aufgabe 3 (Sternchenaufgabe): | ||
+ | Schreibe ein Programm, das die Primzahlen bis 100 000 mit Hilfe des Sies des Eratosthenes ermittelt und ausgibt! \\ \\ | ||
+ | **Strategie: | ||
+ | * Deklariere ein Feld '' | ||
+ | * Setze '' | ||
+ | * Jetzt bis Du dran! Hier noch ein paar kleine Tipps: | ||
+ | * Du wirst zwei ineinandergeschachtelte Wiederholungen brauchen. | ||
+ | * Die Wurzel von 100 000 erhältst Du so: '' | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | int anzahl = 100000; | ||
+ | |||
+ | boolean[] gestrichen = new boolean[anzahl + 1]; | ||
+ | gestrichen[0] = true; | ||
+ | gestrichen[1] = true; | ||
+ | |||
+ | for(int i = 2; i <= anzahl; i++) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | int nächstePrimzahl = 2; | ||
+ | while(nächstePrimzahl <= Math.sqrt(anzahl)) { | ||
+ | // Alle Vielfachen von nächstePrimzahl streichen: | ||
+ | | ||
+ | | ||
+ | gestrichen[i] = true; | ||
+ | } | ||
+ | |||
+ | // nächste Primzahl finden | ||
+ | | ||
+ | | ||
+ | nächstePrimzahl++; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Ausgabe der Primzahlen | ||
+ | int spalte = 0; | ||
+ | for(int i = 2; i <= anzahl; i++) { | ||
+ | | ||
+ | print(i + ", "); | ||
+ | spalte++; | ||
+ | if(spalte == 5) { // Zeilenumbruch nach jeweils 5 Spalten | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ |