Как найти модульную инверсию двух очень больших чисел, используя любой из типов библиотеки Boost Multiprecision? (cpp_int, gmp_int и т. д.)

Мне нужно найти модульную мультипликативную инверсию двух чисел, типы данных которых являются любыми из тех, которые предлагаются библиотекой Multiprecision Boost (gmp_int, cpp_int и т. Д.). Есть ли встроенная функция для этого? Если нет, можете ли вы объяснить, как действовать?

1 ответ

Модульные мультипликативные инверсии были добавлены для повышения всего несколько недель назад. Их пока нет ни в одном выпуске Boost (но они должны быть доступны в 1.70). Чтобы использовать их, вам нужно будет клонировать

$ git clone https://github.com/boostorg/integer

в ваше дерево Boost или клонируйте все Boost и укажите на него пути включения:

$ git clone --recursive https://github.com/boostorg/boost
$ cd boost/libs/integer
$ git checkout develop

Исходный код здесь и документация здесь.

Другие вопросы по тегам