Чтобы сгенерировать первые 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 . ' ';
}