Sieb des Erathostenes

Nawid993

Mitglied
Hallo,

ich bin überrascht wieviele verschiedene Algorithmen dazu gibt. Leider hab ich meins nicht gefunden.
Code:
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 :)
 

Neue Themen


Oben