PHPでは、 gmp_legendre()は、gmp拡張機能によって提供される関数であり、legendreシンボルを計算します。この関数は、特に整数がプライム弾性率の下の正方形残基であるかどうかを判断する場合、数の理論で広く使用されています。
関数定義は次のとおりです。
int gmp_legendre(GMP $a, GMP $p)
ここで、 $ aは判断された整数であり、 $ pは奇妙なプライム番号であり、両方のパラメーターはGMPタイプでなければなりません。
レジャンダーのシンボルは、整数がプライム弾性率の下で二次残留であるかどうかを示す数学的表記です。数学的定義は次のとおりです。
(a/p)= a (p?1)/2 mod p
ここでAは整数であり、 Pは奇妙な素数です。結果は次のとおりです。
次に、2つの例を使用して、 gmp_legendre()を使用する方法を説明して、整数が正方形の残差か二次非修正かを判断します。
$a = gmp_init(5);
$p = gmp_init(7);
$ls = gmp_legendre($a, $p);
if ($ls == 1) {
echo "$a はい $p 残りの正方形";
} else {
echo "$a 不はい $p 残りの正方形";
}
出力は次のとおりです。「5は残りの正方形7」です。
$a = gmp_init(5);
$p = gmp_init(11);
$ls = gmp_legendre($a, $p);
if ($ls == -1) {
echo "$a はい $p 二次非修正";
} else {
echo "$a 不はい $p 二次非修正";
}
このコードの出力は次のとおりです。「5は11の二次非還元ではありません」。
gmp_legendre()関数を呼び出す場合、次のポイントに注意する必要があります。
GMP_LEGENDRE()は、整数がプライムモジュラスの下で正方形の残留であるかどうかを判断するのに適した実用的なPHP数学機能です。これは、PHPと数字の理論の組み合わせを学習するための優れたツールであるだけでなく、暗号化、アルゴリズム競争、その他の分野で実用的なアプリケーション値を持っています。それを使用する場合、GMPタイプとパラメーターの要件に注意を払う必要があり、Lejanderシンボルの計算を正常に完了できます。