Sieb des Eratosthenes |
19.12.2011, 13:47 | Auf diesen Beitrag antworten » | |||||
Prog | Sieb des Eratosthenes Meine Frage: Hallo, ich soll das Sieb Des Eratosthenes programmieren. Es geht um folgende Aufgabenstellung: Sieb des Eratosthenes: 1. Schreibe alle natürlichen Zahlen von 2 bis zu einer beliebigen Zahl auf. 2. Streiche alle Vielfachen von 2 heraus 3. Gehe zur nächstgrößeren nicht gestrichenen Zahl und streiche alle Vielfachen von ihr heraus 4. Wiederhole 3 so lange, bis du keine Vielfachen streichen konntest. 5. Alle übrig gebliebenen Zahlen sind Primzahlen. Schreiben Sie eine Klasse Eratosthenes, in der Sie die Methode siebe() implementieren: Meine Ideen: Mein Programm dazu sieht folgendermaßen aus: public class Aristho { static void siebe(int[]feld) { for(int j=2; j<feld.length;j++) { for(int i=2; i<100;i++) { feld[j]=feld[j]*i;//Vielfache feld[j]=0;//Vielfache auf 0 setzen } } //Wenn Feld größer 0 ist, ist es eine Primzahl und soll ausgegeben werden for(int j=0;j<feld.length;j++) { if(feld[j]>0) { System.out.println(feld[j]); } } } public static void main(String[]args) { int[] arr=new int[100]; for(int j=0;j<arr.length;j++) { arr[j]=j; } siebe(arr); } } Leider wird mir immer nur die Zahl 1 angezeigt. Wo liegt denn hier noch der Fehler? |
|||||
|
||||||
20.12.2011, 20:29 | Auf diesen Beitrag antworten » | |||||
Karlito | Hallo, da ich ungern Lösungen präsentiere, habe ich deinen Quelltext kommentiert. Ich hoffe das hilft dir weiter.
VG, Karlito |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|