PHP Conference Nagoya 2025

gmp_invert

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

gmp_invertInverso modular

Descrição

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

Computa o inverso de num1 módulo num2.

Parâmetros

num1

Um objeto GMP, um int ou uma string que possa ser interpretado como um número seguindo a mesma lógica como se a string fosse usada em gmp_init() com detecção automática de base (ou seja, quando base é igual a 0).

num2

Um objeto GMP, um int ou uma string que possa ser interpretado como um número seguindo a mesma lógica como se a string fosse usada em gmp_init() com detecção automática de base (ou seja, quando base é igual a 0).

Valor Retornado

Um número GMP em caso de sucesso ou false se um inverso não existir.

Exemplos

Exemplo #1 Exemplo de gmp_invert()

<?php
echo gmp_invert("5", "10"); // sem inverso, não mostra nada, resultado é FALSE
$invert = gmp_invert("5", "11");
echo
gmp_strval($invert) . "\n";
?>

O exemplo acima produzirá:

9

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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