Sieb des Eratosthenes Java
Sieb des Eratosthenes in Java umgesetzt
Hier findet man das Sieb des Eratosthenes als Java-Code. Das Sieb des Eratosthenes ist ein Algorithmus zur Bestimmung aller Primzahlen kleiner oder gleich einer vorgegebenen Zahl. Benannt wurde der Algorithmus nach dem griechischen Mathematiker Eratosthenes von Kyrene.
Quick'n Dirty Lösung des Sieb des Eratosthenes in Java. Kann man natürlich schöner und effizienter machen, sollte aber für den Zweck erst einmal reichen ;-).
public static void main(String[] args) {
int zahl = 71;
zahl++;
ArrayList<Boolean> loesungListe = aussieben(zahl);
System.out.println("Primzahlen sind: ");
for (int i = 0; i <= zahl - 1; i++) {
if (loesungListe.get(i) == true && i > 1) {
System.out.print(i + " ");
}
}
}
public static ArrayList<Boolean> aussieben(double zahl) {
// Legt eine neue Liste an
ArrayList<Boolean> zahlenListe = new ArrayList<Boolean>();
// Füllt die neue Liste mit lauter true-Elementen
for (int i = 0; i <= zahl; i++) {
zahlenListe.add(i, true);
}
for (int i = 2; i <= zahl; i++) {
if (zahlenListe.get(i) == true) {
int j = i;
do {
j = j + i;
if (j <= zahl) {
// Ist die Zahl ein Vielfaches einer
// Primzahl, dann wird sie mit false
// markiert
zahlenListe.set(j, false);
}
} while (j <= zahl);
}
}
return zahlenListe;
}