Die letzten 4 Beiträge |
GertGundel |
Die Lösung
public boolean [] aufgabe3(int n) {
boolean[] p = new boolean[n+1];
p[1]=false;
for(int i=2; i<p.length; i++) {
p[i]=true;
}
for (int i=2; i<=(n)/2;i++) {
for(int j=2; j<=(n)/i; j++) {
p[i*j]=false;
}
}
return p;
so gehts |
DudiPupan |
Also ich hab das jetzt mal auf folgendem Weg versucht:
public boolean [] aufgabe3(int n) {
boolean[] p = new boolean[n+1];
p[1]=false;
for(int i=2; i<p.length; i++) {
p[i]=true;
}
for (int i=2; i<=(n+1)/2;i++) {
for(int j=2; j<(n+1)/i; j++) {
p[i*j]=false;
}
}
return p;
}
Jedoch spuckt er den letzten wert immer mit dem wahrheitswert true aus, was mir ganz und gar nicht passt!
Was habe ich übersehen, wo liegt der fehler? |
Jannik93 |
Hallo,
also ich hab mir das mal alles aufgemalt und hab nun die Frage ob die ausgegebenden Zahlen in der Liste gestrichen werden sollen oder später auch ausgegeben werden sollen?
Zu deiner Frage du brauchst wahrscheinlich ein Array wo du dann den Benutzer fragst wie die Zahl n lauten soll z.b 12.
-->Sieb des Eratosthenes |
DudiPupan |
Sieb des Eratosthenes
Meine Frage:
Hallo allerseits,
ich arbeite gerad an meinen Übungen für den Programmierkurs und bin gerade bei folgender Aufgabe:
Das Sieb des Eratosthenes ist ein Algorithmus zur Bestimmung aller Primzahlen kleiner oder
gleich einer vorgegebenen Zahl n. Dazu notiert man alle Zahlen zwischen 2 und n. Dann gibt
man die Primzahl 2 aus, und streicht alle Vielfachen von 2 aus der Zahlenliste. Dann gibt
man die nachste Zahl in der Liste aus, die Primzahl 3, und streicht alle Vielfachen von 3. Da
die 4 als ein Vielfaches von 2 nicht mehr in der Liste existiert, wird als nachstes die Primzahl
5 ausgegeben, und wiederum alle Vielfachen von 5 gestrichen. Dieser Vorgang wird bis zur
Zahl n fortgefuhrt. Am Ende erhalt man alle Primzahlen kleiner oder gleich n als Ausgabe.
Meine Ideen:
Das soll ich in BlueJ in einer Methode implementieren.
Ich denke mal, dass ich eine boolean-Methode brauche, oder?
Ich versthe nur noch nicht ganz, wie das mit dem "rausstreichen" der verschiedenen Werte gemeint ist, bzw wie es umzusetzen ist.
Vielen Dank |
|
|