5

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

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

这里 c 也是 int

4

3 回答 3

15
(a * b) % c == ((a % c) * (b % c)) % c
于 2011-05-06T19:04:54.757 回答
7

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

于 2011-05-06T19:04:56.787 回答
5

您可以转换aand cto long long,因此乘法不会溢出。

((long long)a * (long long)b) % c
于 2011-05-06T18:57:24.240 回答