模幂运算 - 如何降低巨大模量?

时间:2012-10-07 10:23:51

标签: c++ modulus modular reduction exponentiation

模幂运算的典型方程是(a + b)MOD n =((a MOD n)+(b MOD n))MOD n。如果a和b非常庞大,那就太棒了。 但是我被要求用非常大的n(2 ^ 31 -1)进行指数运算,a和b没问题。

我只需要一种方法来减少n。

1 个答案:

答案 0 :(得分:2)

“(a + b)MOD n =((MOD n)+(b MOD n))MOD n”不是指数,它是加法。

“(2 ^ 31 -1)”不是“巨大的n”,它的31位设置为1.

由于这些基本假设是完全错误的,并且由于问题显然是家庭作业,因此很难提供更具体的建议,而不会对OP造成损害。已经说过应该足以暗示可以解决任务。或者,可以在分配的一些开始,并发布一个新的SO问题。