2024 年 PHP Conference Japan

gmp_nextprime

(PHP 5 >= 5.2.0,PHP 7,PHP 8)

gmp_nextprime尋找下一個質數

說明

gmp_nextprime(GMP|int|string $num): GMP

尋找下一個質數

參數

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

注意事項

注意:

此函式使用機率演算法來識別質數,得到合數的機率極小。

新增註釋

使用者貢獻的註釋 3 則註釋

Tommy Lynge Jrgensen
8 年前
質數是正的非零數字,且恰好有兩個因數。不多也不少。因此,測試負數並沒有任何意義。
IceMetalPunk at gmail dot com
7 年前
負數 N 總是至少有四個因數:N*1=N 和 abs(N)*-1=N。因此,即使「自然數」不在質數的定義中(但它確實是),也沒有任何負數符合條件。因此,任何負數的下一個最大質數永遠是 2。
匿名
8 年前
gmp_nextprime 應用於負數時似乎總是傳回 2。
To Top