N次剩余

$$求解x^nequiv a(\%P),其中P是质数,0leq 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 imes n} equiv g^t (\%P)$$

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

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

很好,变成解线性方程。

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