PHP Conference Japan 2024

gmp_invert

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_invert模反元素

說明

gmp_invert(GMP|int|string $num1, GMP|int|string $num2): GMP|false

計算 num1num2 的反元素。

參數

num1

一個 GMP 物件、一個 int 或一個可以被解釋為數字的 string,其邏輯如同在 gmp_init() 中使用自動基底偵測(即 base 等於 0 時)一樣。

num2

一個 GMP 物件、一個 int 或一個可以被解釋為數字的 string,其邏輯如同在 gmp_init() 中使用自動基底偵測(即 base 等於 0 時)一樣。

傳回值

成功時傳回一個 GMP 數字,如果反元素不存在則傳回 false

範例

範例 #1 gmp_invert() 範例

<?php
echo gmp_invert("5", "10"); // 沒有反元素,不輸出任何東西,結果為 FALSE
$invert = gmp_invert("5", "11");
echo
gmp_strval($invert) . "\n";
?>

以上範例會輸出:

9

新增註解

使用者貢獻的註解 1 則註解

athamidn at gmail dot com
4 年前
範例 #2 gmp_invert() 範例
<?php
echo gmp_invert("5", "10"); // 沒有反元素,不會輸出任何東西,結果為 FALSE

意思是 (5 * x ) mod 10 = 1。這個函式是要找出 x 的值,因為是 mod 10,x 的範圍應該是 {1.. 10-1(9)},所以:

5 * 1 mod 10 = 5
5
* 2 mod 10 = 0
5
* 3 mod 10 = 5
5
* 4 mod 10 = 0
5
* 5 mod 10 = 5
5
* 6 mod 10 = 0
5
* 7 mod 10 = 5
5
* 8 mod 10 = 0
5
* 9 mod 10 = 5
結果中沒有任何 1,所以會是 False。

$invert = gmp_invert("5", "11");

echo gmp_strval($invert) . "\n";
?>

以上範例會輸出:

9

5 * 9 mod 11 = 1
To Top