English | 简体中文 | 繁體中文
查询

gmp_gcdext()函数—用法及示例

「 计算两个整数的最大公约数,并返回一个数组,其中包含最大公约数、以及对应的系数 」


函数名:gmp_gcdext()

函数描述:gmp_gcdext() 函数用于计算两个整数的最大公约数,并返回一个数组,其中包含最大公约数、以及对应的系数。

用法:gmp_gcdext($a, $b)

参数:

  • $a:一个 GMP 对象或一个字符串,表示第一个整数。
  • $b:一个 GMP 对象或一个字符串,表示第二个整数。

返回值:一个包含三个元素的数组,包括最大公约数 $g,以及两个整数 $a 和 $b 的系数 $s 和 $t,满足 $g = $a * $s + $b * $t。

示例代码:

$a = gmp_init(24);
$b = gmp_init(36);

$result = gmp_gcdext($a, $b);

$g = $result[0]; // 最大公约数
$s = $result[1]; // $a 的系数
$t = $result[2]; // $b 的系数

echo "最大公约数: " . gmp_strval($g) . "\n";
echo "系数 a: " . gmp_strval($s) . "\n";
echo "系数 b: " . gmp_strval($t) . "\n";

// 输出结果:
// 最大公约数: 12
// 系数 a: -1
// 系数 b: 1

注意事项:

  • 传入的参数可以是 GMP 对象或字符串,如果是字符串,则会自动转换为 GMP 对象进行计算。
  • 如果两个整数中有一个为 0,则返回的结果数组中,最大公约数为另一个不为 0 的整数,系数 $s 和 $t 为 0。
  • 如果两个整数中有一个为负数,则返回的结果数组中,最大公约数为正数,系数 $s 和 $t 的符号会根据参数的符号而定。
  • 当输入参数为非整数时,将会返回 false。
补充纠错
上一个函数: gmp_hamdist()函数
下一个函数: gmp_setbit()函数
热门PHP函数
分享链接