Нахождение списка простых чисел в кратчайшие сроки
Я прочитал много алгоритмов, чтобы найти простые числа, и пришел к выводу, что число - это простое число, если оно не делится ни на одно из предшествующих простых чисел.
Я не могу найти более точное определение. Основываясь на этом, я написал код, и он работает удовлетворительно, пока максимальное число, которое я передаю, не будет 1000000. Но я считаю, что есть гораздо более быстрые алгоритмы, чтобы найти все простые числа меньше, чем данное число.
Ниже приведен мой код, могу ли я иметь лучшую версию того же самого?
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;
}