gmp_prob_prime
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gmp_prob_prime — 数が"おそらく素数"であるかどうかを調べる
説明
gmp_prob_prime
( GMP $a
[, int $reps
= 10
] ) : int
この関数は、Miller-Rabin の確率的テストを使用して、 その数が素数かどうかを調べます。
パラメータ
a
素数かどうかを調べたい数。
PHP 5.5 以前での GMP 数リソース、PHP 5.6 以降での GMP オブジェクト、あるいは数値に変換可能な数値形式の文字列。
reps
reps
の合理的な値は 5 から 10 くらいまで変動します (デフォルトは 10 です)。より大きい値を指定すると、素数でない数を 「おそらく素数である」と誤認識する可能性が小さくなります。PHP 5.5 以前での GMP 数リソース、PHP 5.6 以降での GMP オブジェクト、あるいは数値に変換可能な数値形式の文字列。
返り値
この関数が 0 を返す場合、a
は確実に素数ではありません。
1 を返す場合、a
は「おそらく」
素数です。2 を返す場合、a
は確実に素数です。
例
例1 gmp_prob_prime() の例
<?php// 明らかに素数ではありませんecho gmp_prob_prime("6") . "\n";// おそらく素数ですecho gmp_prob_prime("1111111111111111111") . "\n";// 明らかに素数ですecho gmp_prob_prime("11") . "\n";?>
上の例の出力は以下となります。
0 1 2