Erathosthenes Prinzip

Status
Nicht offen für weitere Antworten.

renegade

Mitglied
Hi, Leute

hilft mir mal bitte,
Aufgabenstellung

Implementieren Sie das Sieb des Erathosthenes zur Berechnung der Primzahlen von 1 bis 500. Gehen Sie dabei wie folt vor: Aus der Lister der natürlichen Zahlen werden jene Zahlen gestrichen, die Vielfache der jeweils kleinsten noch nicht gestrichenen Zahl sind. Dadurch bleiben am Ende die Primzahlen übrig. Beachten Sie das Abbruchkriterium. SChreiben Sie die gefundenen Primzhalen in eine Datei mit jeweils 10 Primzahlen pro Zeile.

Java:
public class sieb { 
   public static void main(String[] args) {
        int max=500;
        boolean[] feld = new boolean[max];
        int i;
             for(i=2; i<max; i++)
	{
	 feld[i]=true;
	}
              
        for(i=2; 2*i<max; i++) {
            int j;
            j=2;
            while (i*j<max) {
                feld[i*j]=false;
                j++;
            }
        }
        for (i=1; i<max; i++) if(feld[i]) System.out.println(i);
    }
}

wie bekomm ich 10 primzahlen in eine zeile?
vl kann mir wer helfen lg
 

Final_Striker

Top Contributor
verwende

Java:
System.out.print(i);

dann bekommst du nicht jedes mal einen Zeilenumbruch
 

eRaaaa

Top Contributor
Java:
  int counter = 0;
		for (i = 1; i < max; i++) {
			if (feld[i]) {
				counter++;
				System.out.print((counter % 10 == 0 ? i + System.getProperty("line.separator"): i + " "));
			}
		}
 

renegade

Mitglied
danke für eure hilfe.

jedoch gibts da nicht was einfacheres? außer getproperty und den line seperator?
bin nicht so der crack :)

danke und lg
 

Das AlgoTool

Mitglied
System.out.println(); macht auch einen Zeilenumbruch. Und die grundsätzliche Idee (mitzählen...) hat era+ ja schon genannt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben