модульное умножение больших чисел в с ++
У меня три целых числаА, Б (менее 10 ^ 12) иC (менее 10 ^ 15). Я хочу посчитать(A * B)% C, я знаю это
(A * B) % C = ((A % C) * (B % C)) % C
но скажи еслиA = B = 10 ^ 11 тогда приведенное выше выражение вызовет целочисленное переполнение. Есть ли простое решение для вышеупомянутого случая, или я должен использовать быстрые алгоритмы умножения.
Если мне нужно использовать алгоритм быстрого умножения, то какой алгоритм мне следует использовать.
РЕДАКТИРОВАТЬ: Я пробовал выше проблемы вC ++ (который не вызывает переполнения, не уверен почему), но ответ не должен бытьнуль?
Заранее спасибо.