質數是正的非零數字,且恰好有兩個因數。不多也不少。因此,測試負數並沒有任何意義。
(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。