Генерация первых 100 простых чисел в PHP: методы и примеры кода

Чтобы сгенерировать первые 100 простых чисел в PHP, вы можете использовать несколько методов. Вот три разных подхода с примерами кода:

Метод 1: наивный подход
Этот метод проверяет каждое число от 2 до n-1, чтобы определить, делится ли оно на любое число, кроме 1 и самого себя. Если оно не делится, то оно считается простым числом.

function isPrime($number) {
    if ($number < 2) {
        return false;
    }
    for ($i = 2; $i <= sqrt($number); $i++) {
        if ($number % $i === 0) {
            return false;
        }
    }
    return true;
}
$count = 0;
$number = 2;
while ($count < 100) {
    if (isPrime($number)) {
        echo $number . ' ';
        $count++;
    }
    $number++;
}

Метод 2: Решето Эратосфена
Решето Эратосфена — это эффективный алгоритм для поиска всех простых чисел до заданного предела. Он удаляет кратные каждому простому числу при переборе чисел.

function sieveOfEratosthenes($n) {
    $primes = array_fill(2, $n-1, true);

    for ($p = 2; $p * $p <= $n; $p++) {
        if ($primes[$p] == true) {
            for ($i = $p * $p; $i <= $n; $i += $p) {
                $primes[$i] = false;
            }
        }
    }

    $count = 0;
    for ($p = 2; $p <= $n; $p++) {
        if ($primes[$p]) {
            echo $p . ' ';
            $count++;
        }
        if ($count == 100) {
            break;
        }
    }
}
sieveOfEratosthenes(542);

Метод 3: использование библиотеки простых чисел
Если вы предпочитаете более простой подход, вы можете использовать библиотеку простых чисел, например библиотеку Math_Prime, доступную в менеджере пакетов PEAR.

require_once 'Math/Prime.php';
$primes = Math_Prime::nextNPrimes(100);
foreach ($primes as $prime) {
    echo $prime . ' ';
}