Finden der Liste der Primzahlen in kürzester Zeit

Ich habe viele Algorithmen gelesen, um Primzahlen zu finden, und die Schlussfolgerung ist, dass eine Zahl eine Primzahl ist, wenn sie nicht durch eine ihrer vorhergehenden Primzahlen teilbar ist.

Ich kann keine genauere Definition finden. Darauf basierend habe ich einen Code geschrieben, der zufriedenstellend funktioniert, bis die maximale Anzahl, die ich übergebe, 1000000 beträgt. Ich glaube jedoch, dass es viel schnellere Algorithmen gibt, um alle Primzahlen zu finden, die kleiner als eine bestimmte Zahl sind.

Folgendes ist mein Code, kann ich eine bessere Version davon haben?

 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;
}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage