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