How to calculate modulus of the form (a*b)%c?
i want to calculate modulus of multiplication of two int numbers where they are almost in the stage of overflow...
here c is also int
(a * b) % c == ((a % c) * (b % c)) % c
What about ((a % c) * (b % c)) % c
? Depending on your architecture this could be faster or slower than casting to a bigger type.
You may cast a
and c
to long long
, so the multiplication won't overflow.
((long long)a * (long long)b) % c
来源:https://stackoverflow.com/questions/5915808/how-to-calculate-modulus-of-the-form-abc