PHP 8.4.2 Released!

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

Вычисляет инверсию остатка от деления числа num1 на число num2.

Список параметров

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 note

up
2
athamidn at gmail dot com
4 years ago
Example #2 gmp_invert() example
<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE

It means (5 * x ) mod 10 = 1. And with this function we want a value for x, because of mod 10, x should be {1.. 10-1(9)}, so :

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
We don
't have any 1 in the results. so it will be False.

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

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

The above example will output:

9

5 * 9 mod 11 = 1
To Top