首先,这不是我的作业..我在练习期间遇到了一个问题。
我想计算这个表达式的值: ANS =(2 ^巨大)%P ..
其中:
huge = n1Ck1 + n2Ck2 + n3Ck3 ..... [n1,n2 ..可以大到10 ^ 4且k1,k2 ..小于10]
p =小于2 ^ 32的素数
我知道如何使用快速right to left binary method找出(a ^ b)%p,但我的问题是如何找到像10000C9这样的数字的组合[nCk],这可能导致如此庞大的数字和然后在模幂运算方法中使用它?
答案 0 :(得分:4)
由于2^(p-1)==1 mod p
,您可以对模数为p-1
的指数进行所有计算。