gmp_prob_prime: 数が"おそらく素数"であるかどうかを調べる (GMP 関数) - PHPプロ!マニュアル

PHPマニュアル

gmp_prob_prime: 数が"おそらく素数"であるかどうかを調べる

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_prime数が"おそらく素数"であるかどうかを調べる

説明

int gmp_prob_prime ( resource $a [, int $reps = 10 ] )

この関数は、Miller-Rabin の予測テストを使用して、 その数が素数かどうかを調べます。

パラメータ

a

素数かどうかを調べたい数。

GMP 数リソース、 あるいは数値に変換可能な数値形式の文字列。

reps

reps の値 (デフォルトは 10) は、5 から 10 までです。より大きい値を指定すると、素数でない数を 「おそらく素数である」と誤認識する可能性が小さくなります。

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


PHPマニュアル



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)