Dati due numeri positivi x
e n
con x<2^n
, scrivere la funzione più breve possibile per calcolare x^-1 mod 2^n
. In altre parole, trova y
tale x*y=1 mod 2^n
.
La tua funzione deve essere completata in un tempo ragionevole per almeno n=64
, quindi la ricerca esaustiva non funzionerà.
Se l'inverso non esiste, è necessario indicarlo in qualche modo al chiamante (generare un'eccezione, restituire un valore sentinella, ecc.).
Se ti stai chiedendo da dove cominciare, prova l' algoritmo euclideo esteso .