原根
阶
阶的定义:设$m>1$,且$gcd(a,m)=1$,那么使得$a^requiv 1pmod m$成立的最小的正整数$r$称为$a$对模$m$的阶,记为$delta_m(a)$。
相关定理:
定理一:
若$m>1$并且$gcd(a,m)=1$,又满足$a^nequiv 1pmod m$,那么$delta_m(a)mid n$。易证。
定理二:
由定理一可推得:$delta_m(a)mid phi(m)$。
证明:
由欧拉定理$a^{phi(m)}equiv 1pmod m$可知,又$delta_m(a)leqphi(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}} eq 1pmod m$,其中$i=1,2,...,k$
则$g$是$m$的一个原根。
这里暂时不放代码了。