Finden Sie die Liste der Primzahlen in kürzester Zeit

Lese ich sehr viele algorithmen zu finden, die Primzahlen und die Schlussfolgerung ist, dass eine Zahl eine Primzahl ist, wenn es nicht teilbar durch jede seiner vorhergehenden Primzahlen.

Ich bin nicht in der Lage zu finden, eine genauere definition. Auf dieser Basis habe ich geschrieben, ein code, und es funktioniert zufriedenstellend, bis die maximale Anzahl ich-pass ist 1000000. Aber ich glaube, es gibt viel schnellere algorithmen, um alle Primzahlen kleiner als eine gegebene Zahl.

Folgendes ist mein code, kann ich eine bessere version der gleichen?

 public static void main(String[] args) {
    for (int i = 2; i < 100000; i++) {
        if (checkMod(i)) {
            primes.add(i);
        }
    }
}

private static boolean checkMod( int num) {
    for (int i : primes){
        if( num % i == 0){
            return false;
        }
    }
    return true;
}
InformationsquelleAutor dharam | 2012-05-21
Schreibe einen Kommentar