gmp_invert() es una función integrada en PHP que se utiliza para encontrar el inverso modular de un número GMP ( precisión múltiple GNU : para números grandes) bajo otro número GMP.
El inverso modular es un número x tal que:
a x ≡ 1 (mod b)
El valor de x debe estar en {0, 1, 2, … b-1}, es decir, en el anillo del entero módulo b.
Sintaxis:
gmp_invert ( $a, $b )
Parámetros: esta función acepta dos números GMP $a y $b como se muestra en la sintaxis anterior. Esta función encuentra el inverso de $a bajo módulo $b . Estos parámetros pueden ser un objeto GMP en PHP versión 5.6 y posteriores, o también se nos permite pasar una string numérica siempre que sea posible convertir esa string en un número.
Valor de retorno: esta función devuelve un número GMP que es el módulo inverso calculado de los dos números que se le pasan como argumentos. Si no es posible encontrar el módulo inverso para los dos números dados, esta función devuelve FALSO.
Ejemplos:
Input: $a = 3, $b = 11 Output: 4 Since (4*3) mod 11 = 1, 4 is modulo inverse of 3 One might think, 15 also as a valid output as "(15*3) mod 11" is also 1, but 15 is not in ring {0, 1, 2, ... 10}, so not valid. Input: $a = 10, $b = 17 Output: 12 Since (10*12) mod 17 = 1, 12 is modulo inverse of 3
Los siguientes programas ilustran la función gmp_invert() en PHP:
Programa 1: Programa para calcular el módulo inverso cuando se pasan strings numéricas como números GMP como argumentos.
<?php // PHP program to calculate inverse modulo // strings as GMP numbers $a = "3"; $b = "11"; // calculates the inverse modulo of a number $invMod = gmp_invert($a, $b); echo $invMod."\n"; // calculates the inverse modulo of a number $a = "10"; $b = "17"; $invMod = gmp_invert($a, $b); echo $invMod."\n"; ?>
Producción:
4 12
Programa 2: Programa para calcular el módulo inverso cuando se pasan números GMP como argumentos.
<?php // PHP program to calculate inverse modulo // creating GMP numbers using gmp_init() $a = gmp_init(3, 10); $b = gmp_init(11, 10); // calculates the inverse modulo of a number $invMod = gmp_invert($a, $b); echo $invMod."\n"; // calculates the inverse modulo of a number $a = gmp_init(10, 10); $b = gmp_init(17, 10); $invMod = gmp_invert($a, $b); echo $invMod."\n"; ?>
Producción:
4 12
Referencia:
http://php.net/manual/en/function.gmp-invert.php
¿Escribir código en un comentario? Utilice ide.geeksforgeeks.org , genere un enlace y compártalo aquí.