La tarea es la siguiente. Dado un número entero x
(tal que el x
módulo 100000000003
no es igual a 0
) presentado a su código de la forma que le resulte conveniente, genere otro número entero y < 100000000003
para que (x * y) mod 100000000003 = 1
.
Su código debe demorar menos de 30 minutos en ejecutarse en una máquina de escritorio estándar para cualquier entrada x
tal que |x| < 2^40
.
Casos de prueba
Entrada: 400000001. Salida: 65991902837
Entrada: 4000000001. Salida: 68181818185
Entrada: 2. Salida: 50000000002
Entrada: 50000000002. Salida: 2.
Entrada: 1000000. Salida: 33333300001
Restricciones
No puede usar ninguna biblioteca o funciones integradas que realicen módulos aritméticos (o esta operación inversa). Esto significa que ni siquiera puedes a % b
prescindir de implementarte %
. Sin embargo, puede utilizar todas las demás funciones integradas aritméticas no modulares.
Pregunta similar
Esto es similar a esta pregunta, aunque espero que sea lo suficientemente diferente como para ser de interés.
100000000003
? (pregunto)