Überlauf: a * a mod n
Ich muss rechnena*a
modn
abera
ist ziemlich groß, was zu einem Überlauf führt, wenn ich es quadriere. Tun((a%n)*(a%n))%n
funktioniert nicht, weil (n-1)2 kann überlaufen. Dies ist in C ++ und ich verwende Int 64.
edit: Beispiel ein Wert = 821037907258 und n = 800000000000, der überläuft, wenn Sie ihn quadrieren.
Ich verwende DevCPP und habe bereits versucht, Big-Integer-Bibliotheken ohne Erfolg zum Laufen zu bringen.
edit 2: Nein, diese Zahlen haben kein Muster.