VL-Programmieren/S01-VL04-Aufgabe 3/Aufgabe.java

41 lines
1.1 KiB
Java
Raw Normal View History

2023-12-05 14:38:37 +00:00
class Aufgabe {
public static void main(String[] args) {
final int MAXIMUM = 200;
int[] zahlenreihe = new int[MAXIMUM];
// Initialisieren der Zahlenreihe.
for(int i = 0; i < MAXIMUM; i++) {
zahlenreihe[i] = i + 1;
}
// Alle Basen durchlaufen.
for(int i = 0; i <= (MAXIMUM / 2); i++) {
int basis = zahlenreihe[i];
// Alle Basen und Zahlen kleiner als 2 können ignoriert werden.
// Zahlen kleiner als 2 sind keine Primzahlen.
// Eine Base welche keine Primzahl ist wird mit 0 überschrieben ("durchgestrichen").
if(basis < 2) {
continue;
}
// Alle Zahlen der Zahlenreihe durchlaufen um für die Basis passende Zahlen zu finden.
for(int j = i + 1; j < MAXIMUM; j++) {
int zahl = zahlenreihe[j];
// Es ist keine Primzahl wenn die Zahl durch die Basis teilbar ist.
if(zahl % basis == 0) {
zahlenreihe[j] = 0;
}
}
}
// In der Zahlenreihe sind jetzt nur noch Primzahlen vorhanden.
for(int i = 0; i < MAXIMUM; i++) {
if(zahlenreihe[i] >= 2) {
System.out.println(zahlenreihe[i]);
}
}
}
}