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 数として返します。
例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.