Prime numbers are positive, non-zero numbers that have exactly two factors. No more, no less. So testing negative numbers doesn't really make any sense.
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
gmp_nextprime — Находит следующее простое число
num
Объект GMP, целое число (int)
или строка (string), которая интерпретируется как число по той же логике
как если бы строка использовалась в функции gmp_init() с автоматическим
определением основания системы счисления — когда значение параметра base
равно 0.
Функция возвращает следующее после num
простое число
в виде GMP-числа.
Пример #1 Пример нахождения следующего простого числа функцией gmp_nextprime()
<?php
$prime1 = gmp_nextprime(10); // Следующее простое число, которое больше числа 10
$prime2 = gmp_nextprime(-1000); // Следующее простое число, которое больше числа -1000
echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>
Результат выполнения приведённого примера:
11 2
Замечание:
Функция использует вероятностный алгоритм для определения простых чисел, и шансы получить составное число чрезвычайно малы.
Prime numbers are positive, non-zero numbers that have exactly two factors. No more, no less. So testing negative numbers doesn't really make any sense.
Negative numbers N always have at least four factors: N*1=N and abs(N)*-1=N. Therefore, even if "natural number" weren't in the definition of a prime (which it is), no negative number would ever qualify. Therefore, the next-largest prime number to any negative number is always 2.