Код Java: генерация простых чисел меньше n

Чтобы сгенерировать в Java все простые числа меньше заданного числа «n», вы можете использовать различные методы. Вот несколько возможных подходов:

  1. Решето Эратосфена:
    Этот алгоритм эффективно находит все простые числа до заданного предела, итеративно отмечая кратные каждому простому числу. Вот реализация:
import java.util.*;
public class PrimeNumbers {
    public static List<Integer> generatePrimes(int n) {
        boolean[] isPrime = new boolean[n + 1];
        Arrays.fill(isPrime, true);
        isPrime[0] = isPrime[1] = false;
        for (int i = 2; i * i <= n; i++) {
            if (isPrime[i]) {
                for (int j = i * i; j <= n; j += i) {
                    isPrime[j] = false;
                }
            }
        }
        List<Integer> primes = new ArrayList<>();
        for (int i = 2; i <= n; i++) {
            if (isPrime[i]) {
                primes.add(i);
            }
        }
        return primes;
    }
    public static void main(String[] args) {
        int n = 100;
        List<Integer> primes = generatePrimes(n);
        System.out.println("Prime numbers less than " + n + ": " + primes);
    }
}
  1. Пробное деление:
    Этот метод включает проверку делимости каждого числа до квадратного корня из n. Вот реализация:
import java.util.*;
public class PrimeNumbers {
    public static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
    public static List<Integer> generatePrimes(int n) {
        List<Integer> primes = new ArrayList<>();
        for (int i = 2; i < n; i++) {
            if (isPrime(i)) {
                primes.add(i);
            }
        }
        return primes;
    }
    public static void main(String[] args) {
        int n = 100;
        List<Integer> primes = generatePrimes(n);
        System.out.println("Prime numbers less than " + n + ": " + primes);
    }
}

Это всего лишь два примера методов генерации простых чисел в Java. Также доступно несколько других алгоритмов и оптимизаций. Не стесняйтесь исследовать и экспериментировать с различными подходами.