关于原根的相关知识
原根
阶
阶的定义:设$m>1$,且$gcd(a,m)=1$,那么使得$a^r\equiv 1\pmod m$成立的最小的正整数$r$称为$a$对模$m$的阶,记为$\delta_m(a)$。
相关定理:
定理一:
若$m>1$并且$gcd(a,m)=1$,又满足$a^n\equiv 1\pmod m$,那么$\delta_m(a)\mid n$。易证。
定理二:
由定理一可推得:$\delta_m(a)\mid \phi(m)$。
证明:
由欧拉定理$a^{\phi(m)}\equiv 1\pmod m$可知,又$\delta_m(a)\leq\phi(m)$,再由定理一即得证。
原根
原根的定义:设$m$为正整数,$a$为整数,如果满足$a$对模$m$的阶等于$\phi(m)$,那么称$a$为模$m$的一个原根。
相关定理:
定理一:
一个正整数$m$有原根的充要条件是$m=2,4,p^e,2p^e$,其中,$p$奇素数,$e$为正整数。
定理二:
每一个素数$p$都有$\phi(p-1)$个原根,事实上,每一个正整数$m$都有$\phi(\phi(m))$个原根。
定理三:
若$g$是$m$的一个原根,则
$g,g^2,...,g^{\phi(m)}$
各数对$m$取模的非负最小剩余就是小于$m$且与$m$互质的$\phi(m)$个数的一个排列。
原根的求法
首先求$\phi(m)$的素幂分解式:
$\phi(m)=p_1^{e_1}*p_2^{e_2}*...*p_k^{e_k}$
然后枚举$g$,若恒满足
$g^{\frac{\phi(m)}{p_i}}\neq 1\pmod m$,其中$i=1,2,...,k$
则$g$是$m$的一个原根。
这里暂时不放代码了。
如需转载,请署名作者并附上原文链接,蒟蒻非常感激
名称:HolseLee
博客地址:www.cnblogs.com/cytus
个人邮箱:1073133650@qq.com