函数名称:gmp_jacobi()
适用版本:PHP 5 >= 5.6.0, PHP 7
函数描述:计算雅可比符号(Jacobi symbol)
用法: gmp_jacobi ( GMP|int|string $a , GMP|int|string $p ) : int
参数:
- $a:一个 GMP 对象,或一个整数字符串,或一个整数。
- $p:一个 GMP 对象,或一个整数字符串,或一个整数。
返回值:
- 返回一个整数,表示雅可比符号的值。如果返回 1,则表示 $a 是一个二次剩余模 $p;如果返回 -1,则表示 $a 是一个二次非剩余模 $p;如果返回 0,则表示 $a 和 $p 不互素。
示例:
$a = 5;
$p = 7;
$result = gmp_jacobi($a, $p);
echo "Jacobi symbol of $a and $p is: $result"; // 输出:Jacobi symbol of 5 and 7 is: -1
$a = gmp_init(10);
$p = gmp_init(13);
$result = gmp_jacobi($a, $p);
echo "Jacobi symbol of $a and $p is: $result"; // 输出:Jacobi symbol of 10 and 13 is: 1
注意事项:
- 参数 $a 和 $p 必须为正整数。
- 如果参数 $a 或 $p 的值为负数,则函数会自动取其绝对值进行计算。
- 如果参数 $p 的值为偶数或小于等于 1,则函数将返回 0。
- 该函数对于非整数参数会发出警告并返回 false。
- 在 PHP 7.4 之前的版本中,只能使用整数参数,无法接受 GMP 对象或整数字符串作为参数。