函數(shù)名:gmp_gcdext()
函數(shù)描述:gmp_gcdext() 函數(shù)用于計算兩個整數(shù)的最大公約數(shù),并返回一個數(shù)組,其中包含最大公約數(shù)、以及對應(yīng)的系數(shù)。
用法:gmp_gcdext($a, $b)
參數(shù):
- $a:一個 GMP 對象或一個字符串,表示第一個整數(shù)。
- $b:一個 GMP 對象或一個字符串,表示第二個整數(shù)。
返回值:一個包含三個元素的數(shù)組,包括最大公約數(shù) $g,以及兩個整數(shù) $a 和 $b 的系數(shù) $s 和 $t,滿足 $g = $a * $s + $b * $t。
示例代碼:
$a = gmp_init(24);
$b = gmp_init(36);
$result = gmp_gcdext($a, $b);
$g = $result[0]; // 最大公約數(shù)
$s = $result[1]; // $a 的系數(shù)
$t = $result[2]; // $b 的系數(shù)
echo "最大公約數(shù): " . gmp_strval($g) . "\n";
echo "系數(shù) a: " . gmp_strval($s) . "\n";
echo "系數(shù) b: " . gmp_strval($t) . "\n";
// 輸出結(jié)果:
// 最大公約數(shù): 12
// 系數(shù) a: -1
// 系數(shù) b: 1
注意事項:
- 傳入的參數(shù)可以是 GMP 對象或字符串,如果是字符串,則會自動轉(zhuǎn)換為 GMP 對象進行計算。
- 如果兩個整數(shù)中有一個為 0,則返回的結(jié)果數(shù)組中,最大公約數(shù)為另一個不為 0 的整數(shù),系數(shù) $s 和 $t 為 0。
- 如果兩個整數(shù)中有一個為負(fù)數(shù),則返回的結(jié)果數(shù)組中,最大公約數(shù)為正數(shù),系數(shù) $s 和 $t 的符號會根據(jù)參數(shù)的符號而定。
- 當(dāng)輸入?yún)?shù)為非整數(shù)時,將會返回 false。