如何计算形式的模数(a * b)%c?

时间:2011-05-06 18:54:27

标签: c++ overflow modulus

如何计算形式的模数(a * b)%c?

我想计算两个int数的乘法模数,它们几乎处于溢出阶段......

这里c也是int

3 个答案:

答案 0 :(得分:15)

(a * b) % c == ((a % c) * (b % c)) % c

答案 1 :(得分:7)

((a % c) * (b % c)) % c怎么样?根据您的架构,这可能比投射到更大的类型更快或更慢。

答案 2 :(得分:5)

您可以将ac投射到long long,这样乘法就不会溢出。

((long long)a * (long long)b) % c