La tâche est la suivante. Étant donné un entier x(tel que xmodulo 100000000003n'est pas égal à 0) présenté à votre code de la manière qui vous convient, sortez un autre entier y < 100000000003pour que (x * y) mod 100000000003 = 1.
Votre code doit prendre moins de 30 minutes pour s'exécuter sur une machine de bureau standard pour toute entrée de ce xtype |x| < 2^40.
Cas de test
Entrée: 400000001. Sortie: 65991902837
Entrée: 4000000001. Sortie: 68181818185
Entrée: 2. Sortie: 50000000002
Entrée: 50000000002. Sortie: 2.
Entrée: 1000000. Sortie: 33333300001
Restrictions
Vous ne pouvez pas utiliser de bibliothèques ou de fonctions intégrées qui effectuent l'arithmétique modulo (ou cette opération inverse). Cela signifie que vous ne pouvez même pas vous a % bpasser de %votre propre implémentation . Vous pouvez cependant utiliser toutes les autres fonctions intégrées arithmétiques non modulo.
Question similaire
Ceci est similaire à cette question, même si nous l'espérons suffisamment différent pour être toujours intéressant.
100000000003? (je me demandais juste)