In Python 3.8 sieht pow (n, -1, 1000000007) besser aus als pow (n, 1000000007 - 2, 1000000007).

In Python 3.8 sieht pow (n, -1, 1000000007) besser aus als pow (n, 1000000007 - 2, 1000000007).

Python 3.8 pow kann jetzt einen negativen Wert für das zweite Argument annehmen, selbst wenn Sie ein drittes Argument angeben, das auch im Python 3.8-Versionshinweis vermerkt ist.

What’s New In Python 3.8: Other Language Changes

For integers, the three-argument form of the pow() function now permits the exponent to be negative in the case where the base is relatively prime to the modulus.

Und es scheint viel schneller zu sein, -1 anzugeben und das inverse Element zu berechnen.

$ python3.8
Python 3.8.3 (default, May 23 2020, 15:50:53)
[GCC 9.3.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from timeit import timeit
>>> m = 1000000007
>>> pow(2, m - 2, m)
500000004
>>> pow(2, -1, m)
500000004
>>> timeit(lambda: [pow(i, m - 2, m) for i in range(1, 10000)], number=100)
3.5805746999103576
>>> timeit(lambda: [pow(i, -1, m) for i in range(1, 10000)], number=100)
1.2788116000592709

Recommended Posts

In Python 3.8 sieht pow (n, -1, 1000000007) besser aus als pow (n, 1000000007 - 2, 1000000007).
Golang vs. Python - Ist Golang besser als Python?
cout << "Hallo Welt! \ N" in Python
[python] Der Konfigurationsparser von Python ist möglicherweise besser als das Verwalten von Einstellungen mit yaml
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
J / N-Verarbeitung mit Bash, Python und Go
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Zeigen Sie in Python n Nachkommastellen an
[Kleine Geschichte] In Python ist i = i + 1 etwas schneller als i + = 1.
Verschieben Sie die Alphabetzeichenfolge in Python um N Zeichen
Täglicher AtCoder # 36 mit Python
Clustertext in Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Bearbeiten Sie Schriftarten in Python
Singleton-Muster in Python
Dateioperationen in Python
Lesen Sie DXF mit Python