Модульное экспонирование
В C / C ++, как я могу рассчитать(a^b)%m
гдеb
не вписывается в 64 бит? Другими словами, есть ли способ расчета вышеуказанного значения с использованиемb%m
вместоb
?
И есть ли алгоритм, который может вычислить приведенный выше результат вO(log(b))
время илиO(log(b%m))
время?