Простые числа играют решающую роль во многих областях информатики и математики. В этой статье мы рассмотрим различные методы генерации первых 100 простых чисел с помощью PHP. Мы рассмотрим различные алгоритмы и примеры кода для эффективного выполнения этой задачи. Итак, начнем!
Метод 1: метод грубой силы
Метод грубой силы включает в себя проверку каждого числа по отдельности, чтобы определить, является ли оно простым. Мы перебираем числа, начиная с 2, и проверяем, делится ли каждое число на любое число, меньшее самого себя.
function isPrime($number)
{
if ($number == 1) {
return false;
}
for ($i = 2; $i <= sqrt($number); $i++) {
if ($number % $i == 0) {
return false;
}
}
return true;
}
$count = 0;
$number = 2;
$primes = [];
while ($count < 100) {
if (isPrime($number)) {
$primes[] = $number;
$count++;
}
$number++;
}
print_r($primes);
Метод 2: Решето Эратосфена
Решето Эратосфена — это эффективный алгоритм для поиска всех простых чисел до заданного предела. Он работает путем итеративной маркировки кратных каждого простого числа, начиная с 2, как составных (т. е. не простых).
function sieveOfEratosthenes($limit)
{
$primes = [];
$isPrime = array_fill(2, $limit - 1, true);
for ($i = 2; $i <= sqrt($limit); $i++) {
if ($isPrime[$i]) {
for ($j = $i * $i; $j <= $limit; $j += $i) {
$isPrime[$j] = false;
}
}
}
for ($i = 2; $i <= $limit; $i++) {
if ($isPrime[$i]) {
$primes[] = $i;
}
}
return $primes;
}
$primes = sieveOfEratosthenes(542);
print_r(array_slice($primes, 0, 100));
Метод 3: формула простых чисел
Формула простых чисел использует математическое выражение для генерации простых чисел. Эта формула, известная как формула n-го простого числа, вычисляет n-е простое число напрямую, без проверки на делимость.
function nthPrime($n)
{
$limit = ceil($n * log($n) + $n * log(log($n)));
$sieve = array_fill(0, $limit, true);
$count = 0;
$primes = [];
for ($i = 2; $count < $n; $i++) {
if ($sieve[$i]) {
$primes[] = $i;
$count++;
for ($j = $i * $i; $j < $limit; $j += $i) {
$sieve[$j] = false;
}
}
}
return $primes;
}
$primes = nthPrime(100);
print_r($primes);
В этой статье мы рассмотрели три различных метода генерации первых 100 простых чисел с помощью PHP. Метод грубой силы — самый простой, но не самый эффективный. Решето Эратосфена — популярный алгоритм генерации простых чисел до заданного предела. Наконец, формула простых чисел напрямую вычисляет n-е простое число без необходимости проверки делимости. Поняв и внедрив эти методы, вы сможете эффективно генерировать простые числа в своих программах PHP.
Не забудьте оптимизировать свой код в соответствии с вашими требованиями и размером простых чисел, которые вам нужно сгенерировать. Приятного кодирования!