Was tun x = x * x mod (p) in Python der effizienteste Weg ist: (Ich weiß, dass x < p)x * x mod (p) am effizientesten pythonischer Weg?
x = pow(a, 2, p)
oder
x = x*x % p
oder
x *= x
x %= p
(Ich denke, dass x * x ist das gleiche wie x ** 2, wenn durch Eficiency gemessen, wenn nein, mich zu reparieren).
Die zweite oder dritte. Der erste hat einen beliebigen Exponenten und wird darum einige * Kontrollstrukturen * um ihn herum haben. Aber der Unterschied zwischen dem zweiten und dritten wird sehr klein sein. –
Ich nehme an, * a * sollte * x * sein. Und warum fragst du das, wenn du einfach selbst einen Test machen und die Zeit messen kannst, die es braucht, um jede Operation 1000000 mal zu wiederholen. – trincot
Python enthält eine [timeit] (https://docs.python.org/2/library/timetit.html) Funktion. Probier es aus. – TemporalWolf