Модульная мультипликативная обратная функция в Python - PullRequest
78 голосов
/ 25 января 2011

Содержит ли какой-либо стандартный модуль Python функцию для вычисления модульного мультипликативного обратного числа, то есть числа y = invmod(x, p), такого, что x*y == 1 (mod p)? Похоже, Google не дает хороших советов по этому поводу.

Конечно, можно придумать самодельный 10-слойный лайнер с расширенным евклидовым алгоритмом , но зачем изобретать велосипед.

Например, в Java BigInteger есть метод modInverse. Разве в Python нет ничего похожего?

Ответы [ 11 ]

0 голосов
/ 24 января 2017

Многие из вышеперечисленных ссылок не работают по состоянию на 23.01.2017. Я нашел эту реализацию: https://courses.csail.mit.edu/6.857/2016/files/ffield.py

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...