码迷,mamicode.com
首页 > 其他好文 > 详细

N次剩余

时间:2015-09-15 23:06:08      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

$$求解x^n\equiv a(\%P),其中P是质数,0\leq x<P$$

设$g$是$P$的原根

那么$g^0,g^1,...,g^{P-2}$和$1,2,...,P-1$是一一对应的。

令$x=g^y$,$a=g^t$。

其中解$a=g^t$可以用离散对数,如果$P$不是很大的话,我们也可以用一个map存下$g^0,g^1,...,g^{P-2}$,然后在map中查找即可。

那么则有:

$$g^{y \times n} \equiv g^t (\%P)$$

因为$g^0,g^1,...,g^{P-2}$和$1,2,...,P-1$是一一对应的,所以原问题转化成:

$$n \times y  \equiv t (\%P-1)$$

很好,变成解线性方程。

 

N次剩余

标签:

原文地址:http://www.cnblogs.com/maijing/p/4811562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!