Есть задача нахождение дискретного логарифма по модулю для длинных чисел. Для работы с длинными числами используется mpir. Нагуглил следующие алгоритмы:
1) Baby-step-Giant-step
2) метод Полларда
Не могу решить какой алгоритм для этого лучше использовать, потому что 1 выглядит проще, но не понятно каким образом описать хеш-функцию для длинных чисел(или что надо делать, чтобы массив длинных чисел все время был отсортированным) , и сколько памяти это вообще будет использовать. Количество разрядов в числах более 150.