素数是正的非零数,它们恰好有两个因数。不多不少。因此,测试负数实际上没有意义。
(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
注意:
此函数使用概率算法来识别素数,获得合数的概率极小。
负数 N 总是至少有四个因数:N*1=N 和 abs(N)*-1=N。因此,即使“自然数”不在素数的定义中(它确实存在),任何负数都不会符合条件。因此,任何负数的下一个最大的素数始终是 2。