# Sieb des Erathostenes



## Nawid993 (16. Apr 2016)

Hallo,

ich bin überrascht wieviele verschiedene Algorithmen dazu gibt. Leider hab ich meins nicht gefunden.

```
package ads_üb1;

import java.util.Scanner;

/*
*   Sieb des Erathostenes
*/

public class Sieb {

    public static void main(String[] args) {
        int n;
        Scanner sc= new Scanner(System.in);
        System.out.print("Primzahlen bis: ");
        n = sc.nextInt();
   
        //
        boolean[] primz = new boolean[n]; //Arrays für "n" erstellen.
        try{
        primz[0] = false;  // Die Zahl 0 und 1 zählt nicht
        primz[1] = false; //  wir fangen erst bei der 2 an.
        }catch(Exception ex){
            System.out.println("Die Zahl muss größer als 2 sein.");
        }
        //Alle Zahlen von 2 bis n werden aufgezählt.
        for (int i=1; i<n; i++){
            primz[i]=true;
           
        }
        for(int i=2; i<= n; i++){
           
            // Streiche alle Vielfachen von 2 weg
            if(primz[i-1]){
                System.out.println(i);
               
               
                for(int j= i*i; j<=n; j=j+i){
                    primz[j-1]=false; 
                }
            }
        }
    }
}
```

Es läuft alles perfekt. Nur ich möchte nicht eine Aufzählung von Primzahlen sondern ich will die Anzahl von Primzahlen bis n.

Danke


----------



## Meniskusschaden (16. Apr 2016)

Was ist denn nun die Frage? Wenn du die Primzahlen ausgeben kannst, kannst du sie doch stattdessen auch einfach zählen.


----------



## Nawid993 (17. Apr 2016)

Ich möchte z. B. Wenn ich als Eingabe 5 eingebe soll mir der Code sagen "Bis 5 sind es 3 Primzahlen".


----------



## InfectedBytes (17. Apr 2016)

Dann zähl einfach...
Geh das Array durch und zähle wieviele Primzahlen vorhanden sind.


----------



## JStein52 (17. Apr 2016)

Wo ist das Problem statt der Ausgabe der Primzahl einen Zaehler hochzuzählen ? Und hinter der Schleife machst du dann die gewünschte Ausgabe ? siehe @Meniskusschaden


----------

