Bei zwei positiven Zahlen x
und n
mitx<2^n
Schreiben Sie bei die kürzestmögliche zu berechnende Funktion x^-1 mod 2^n
. Mit anderen Worten, finde y
so etwas x*y=1 mod 2^n
.
Ihre Funktion muss mindestens in einer angemessenen Zeit abgeschlossen sein n=64
, damit eine umfassende Suche nicht funktioniert.
Wenn die Umkehrung nicht existiert, müssen Sie dies dem Aufrufer irgendwie anzeigen (eine Ausnahme auslösen, einen Sentinel-Wert zurückgeben usw.).
Wenn Sie sich fragen, wo Sie anfangen sollen, probieren Sie den erweiterten euklidischen Algorithmus .