原根求解方法

原根求解方法本文简单介绍了给定一个模数 m 特别是奇素数 利用穷举法或者相关引理结果来求其所有原根

索引

记号

(1) X ( d ) : = { n ∈ Z :   1 ≤ n < p ,   n 对 模 p 的 指 数 = d } X\left( d \right):=\left\{ n\in \mathbb{Z}:\text{ }1\le n X(d):={
nZ: 1n<p, np=d}
, 其中 p p p是一个素数, d d d满足 d ∣ p − 1 \left. d \right|p-1 dp1.
(2) p i ∥ x   ⇔   p i ∣ x   ∧   p i + 1 ∣ x . \left. {
{p}^{i}} \right\|x\text{ }\Leftrightarrow \text{ }\left. {
{p}^{i}} \right|x\text{ }\wedge \text{ }{
{p}^{i+1}}\cancel{|}x.
pix  pix  pi+1
x.



引理1: 设 d d d x 0 {
{x}_{0}}
x0
对模 m m m的指数, 则 ∀ x ∈ Z \forall x\in \mathbb{Z} xZ满足 x ≡ x 0     m o d   m x\equiv {
{x}_{0}}\text{ }\bmod m
xx0 modm
, x x x对模 m m m的指数也为 d d d. 此时称集合 { x ∈ Z : x ≡ x 0     m o d   m } \left\{ x\in \mathbb{Z}:x\equiv {
{x}_{0}}\text{ }\bmod m \right\}
{
xZ:xx0 modm}
为模 m m m的一个指数. 特别地, 若 d = φ ( m ) d=\varphi \left( m \right) d=φ(m), 则称集合 { x ∈ Z : x ≡ x 0     m o d   m } \left\{ x\in \mathbb{Z}:x\equiv {
{x}_{0}}\text{ }\bmod m \right\}
{
xZ:xx0 modm}
为模 m m m的一个原根.

证明 记 S 0 = { n ∈ Z > 0 : x 0 n ≡ 1     m o d   m } {
{S}_{0}}=\left\{ n\in {
{\mathbb{Z}}_{>0}}:{
{x}_{0}}^{n}\equiv 1\text{ }\bmod m \right\}
S0={
nZ>0:x0n1 modm}
.
∀ x ∈ Z \forall x\in \mathbb{Z} xZ满足 x ≡ x 0     m o d   m x\equiv {
{x}_{0}}\text{ }\bmod m
xx0 modm
, 记 S x = { n ∈ Z > 0 : x n ≡ 1     m o d   m } {
{S}_{x}}=\left\{ n\in {
{\mathbb{Z}}_{>0}}:{
{x}^{n}}\equiv 1\text{ }\bmod m \right\}
Sx={
nZ>0:xn1 modm}
.
x x x x 0 {
{x}_{0}}
x0
对模 m m m的同余关系, 显然有 S 0 = S x {
{S}_{0}}={
{S}_{x}}
S0=Sx
, 则 min ⁡ S x = min ⁡ S 0 = d \min {
{S}_{x}}=\min {
{S}_{0}}=d
minSx=minS0=d
, 即 d d d也是 x x x对模 m m m的指数.




引理2: 若 p p p是奇素数, 则模 p p p的原根是存在的.

证明 由于 p p p是奇素数, 因此 ∀ x ∈ { 1 , 2 , ⋯   , p − 1 } \forall x\in \left\{ 1,2,\cdots ,p-1 \right\} x{
1,2,,p1}
, gcd ⁡ ( x , p ) = 1 \gcd \left( x,p \right)=1 gcd(x,p)=1. 根据博文《指数和原根》命题2, x x x对模 p p p的指数存在. 基于此, 从这 p − 1 p-1 p1个指数中取出所有不同的指数, 记作
δ 1 , δ 2 , ⋯   , δ r . (2.1) {
{\delta }_{1}},{
{\delta }_{2}},\cdots ,{
{\delta }_{r}}. \tag{2.1}
δ1,δ2,,δr.(2.1)

τ = l c m ( δ 1 , δ 2 , ⋯   , δ r ) \tau =lcm\left( {
{\delta }_{1}},{
{\delta }_{2}},\cdots ,{
{\delta }_{r}} \right)
τ=lcm(δ1,δ2,,δr)
.

第一步, 我们证明 ∃ g ∈ Z \exists g\in \mathbb{Z} gZ, g g g对模 p p p的指数是 τ \tau τ.
τ = q 1 α 1 q 2 α 2 ⋯ q k α k \tau ={
{q}_{1}}^{
{
{\alpha }_{1}}}{
{q}_{2}}^{
{
{\alpha }_{2}}}\cdots {
{q}_{k}}^{
{
{\alpha }_{k}}}
τ=q1α1q2α2qkαk
τ \tau τ的标准分解式. ∀ s ∈ { 1 , 2 , ⋯   , k } \forall s\in \left\{ 1,2,\cdots ,k \right\} s{
1,2,,k}
, 设 q s β s 1 ∥ δ 1 ,   q s β s 2 ∥ δ 2 ,   ⋯   ,   q s β s r ∥ δ r \left. {
{q}_{s}}^{
{
{\beta }_{s1}}} \right\|{
{\delta }_{1}},\text{ }\left. {
{q}_{s}}^{
{
{\beta }_{s2}}} \right\|{
{\delta }_{2}},\text{ }\cdots ,\text{ }\left. {
{q}_{s}}^{
{
{\beta }_{sr}}} \right\|{
{\delta }_{r}}
qsβs1δ1, qsβs2δ2, , qsβsrδr
. 则成立
α s = max ⁡ { β s 1 , β s 2 , ⋯   , β s r } , {
{\alpha }_{s}}=\max \left\{ {
{\beta }_{s1}},{
{\beta }_{s2}},\cdots ,{
{\beta }_{sr}} \right\},
αs=max{
βs1,βs2,,βsr}
,

∃ δ ∈ { δ 1 , δ 2 , ⋯   , δ r } \exists \delta \in \left\{ {
{\delta }_{1}},{
{\delta }_{2}},\cdots ,{
{\delta }_{r}} \right\}
δ{
δ1,δ2,,δr}
, 使得 q s α s ∥ δ \left. {
{q}_{s}}^{
{
{\alpha }_{s}}} \right\|\delta
qsαsδ
, 即 ∃ t ∈ Z \exists t\in \mathbb{Z} tZ, 使得 δ = t q s α s \delta =t{
{q}_{s}}^{
{
{\alpha }_{s}}}
δ=tqsαs
. 根据式(2.1)的定义, ∃ x ∈ { 1 , 2 , ⋯   , p − 1 } \exists x\in \left\{ 1,2,\cdots ,p-1 \right\} x{
1,2,,p1}
, 使得 x x x对模 p p p的指数为 δ \delta δ. 根据博文《指数和原根》定理7, x s = x t {
{x}_{s}}={
{x}^{t}}
xs=xt
对模 p p p的指数为 q s α s {
{q}_{s}}^{
{
{\alpha }_{s}}}
qsαs
. 依照上面方法分别找出模 p p p指数为 q 1 α 1 ,   q 2 α 2 ,   ⋯   ,   q k α k {
{q}_{1}}^{
{
{\alpha }_{1}}},\text{ }{
{q}_{2}}^{
{
{\alpha }_{2}}},\text{ }\cdots ,\text{ }{
{q}_{k}}^{
{
{\alpha }_{k}}}
q1α1, q2α2, , qkαk
的整数 x 1 ,   x 2 ,   ⋯   ,   x k {
{x}_{1}},\text{ }{
{x}_{2}},\text{ }\cdots ,\text{ }{
{x}_{k}}
x1, x2, , xk
. 由于 gcd ⁡ ( q 1 α 1 , q 2 α 2 , ⋯   , q k α k ) = 1 \gcd \left( {
{q}_{1}}^{
{
{\alpha }_{1}}},{
{q}_{2}}^{
{
{\alpha }_{2}}},\cdots ,{
{q}_{k}}^{
{
{\alpha }_{k}}} \right)=1
gcd(q1α1,q2α2,,qkαk)=1
, 根据博文《指数和原根》定理8, g : = x 1 x 2 ⋯ x k g:={
{x}_{1}}{
{x}_{2}}\cdots {
{x}_{k}}
g:=x1x2xk
对模 p p p的指数即为 ∏ s = 1 k q s α s = τ \prod\limits_{s=1}^{k}{
{
{q}_{s}}^{
{
{\alpha }_{s}}}}=\tau
s=1kqsαs=τ
.


第二步, 我们证明 τ = p − 1 \tau =p-1 τ=p1.
一方面, 1 , 2 , ⋯   , p − 1 1,2,\cdots ,p-1 1,2,,p1中任一数的指数都在式(2.1)中出现, 而 ∀ s ∈ { 1 , 2 , ⋯   , r } \forall s\in \left\{ 1,2,\cdots ,r \right\} s{
1,2,,r}
, δ s ∣ τ \left. {
{\delta }_{s}} \right|\tau
δsτ
, 故成立
x τ ≡ 1     m o d   p ,   ∀ x ∈ { 1 , 2 , ⋯   , p − 1 } , {
{x}^{\tau }}\equiv 1\text{ }\bmod p,\text{ }\forall x\in \left\{ 1,2,\cdots ,p-1 \right\},
xτ1 modp, x{
1,2,,p1}
,

即同余式 x τ ≡ 1     m o d   p {
{x}^{\tau }}\equiv 1\text{ }\bmod p
xτ1 modp
至少有 p − 1 p-1 p1个解. 由博文《素数模同余式次数与其解数的关系》定理5, τ ≥ p − 1 \tau \ge p-1 τp1.
另一方面, 由于 p p p是奇素数, ∀ x ∈ { 1 , 2 , ⋯   , p − 1 } \forall x\in \left\{ 1,2,\cdots ,p-1 \right\} x{
1,2,,p1}
, gcd ⁡ ( x , p ) = 1 \gcd \left( x,p \right)=1 gcd(x,p)=1. 由欧拉定理, 成立 x φ ( p ) = x p − 1 ≡ 1     m o d   p {
{x}^{\varphi \left( p \right)}}={
{x}^{p-1}}\equiv 1\text{ }\bmod p
xφ(p)=xp11 modp
. 再由博文《指数和原根》定理5, 有 ∀ s ∈ { 1 , 2 , ⋯   , r } \forall s\in \left\{ 1,2,\cdots ,r \right\} s{
1,2,,r}
, δ s ∣ p − 1 \left. {
{\delta }_{s}} \right|p-1
δsp1
. 再由最小公倍数的性质, 有 τ = l c m ( δ 1 , δ 2 , ⋯   , δ r ) ∣ p − 1 \tau =\left. lcm\left( {
{\delta }_{1}},{
{\delta }_{2}},\cdots ,{
{\delta }_{r}} \right) \right|p-1
τ=lcm(δ1,δ2,,δr)p1
, 由此得 τ ≤ p − 1 \tau \le p-1 τp1.
综上有 τ = p − 1 \tau =p-1 τ=p1.




基于前两步, ∃ g ∈ Z \exists g\in \mathbb{Z} gZ使得 g g g对模 p p p的指数为 p − 1 = φ ( p ) p-1=\varphi \left( p \right) p1=φ(p), g g g即为模 p p p的一个原根. 至此引理2证明完毕.


引理3: 设 p p p是素数, 若 d ∣ p − 1 \left. d \right|p-1 dp1, 则一定有 X ( d ) ≠ ∅ X\left( d \right)\ne \varnothing X(d)=.

证明 d ∣ p − 1   ⇒   ∃ k ∈ Z \left. d \right|p-1\text{ }\Rightarrow \text{ }\exists k\in \mathbb{Z} dp1  kZ使得 p − 1 = k d p-1=kd p1=kd。由引理2, ∃ g ∈ Z \exists g\in \mathbb{Z} gZ使得 g g g是模 p p p的原根, 即 g g g对模 p p p的指数为 φ ( p ) = p − 1 = k d \varphi \left( p \right)=p-1=kd φ(p)=p1=kd. 由博文《指数和原根》定理7, g k {
{g}^{k}}
gk
对模 p p p的指数即为 d d d, 即有 ( g k     m o d   p ) ∈ X ( d ) \left( {
{g}^{k}}\text{ }\bmod p \right)\in X\left( d \right)
(gk modp)X(d)
, X ( d ) ≠ ∅ X\left( d \right)\ne \varnothing X(d)=.


引理4: 设 p p p为素数, 若 d ∣ p − 1 \left. d \right|p-1 dp1, 则有 ∣ X ( d ) ∣ = φ ( d ) \left| X\left( d \right) \right|=\varphi \left( d \right) X(d)=φ(d).

证明
第一步, 由引理3, X ( d ) ≠ ∅ X\left( d \right)\ne \varnothing X(d)=, ∃ a ∈ X ( d ) \exists a\in X\left( d \right) aX(d). 则 a a a对模 p p p的指数为 d d d, 有
a d ≡ 1     m o d   p . (4.1) {
{a}^{d}}\equiv 1\text{ }\bmod p. \tag{4.1}
ad1 modp.(4.1)


S = { 1 ≤ x < p :   x d ≡ 1     m o d   p } . S=\left\{ 1\le x {x}^{d}}\equiv 1\text{ }\bmod p \right\}. S={
1x<p: xd1 modp}
.

显然有 X ( d ) ⊆ S X\left( d \right)\subseteq S X(d)S. 由于 d ∣ p − 1 \left. d \right|p-1 dp1, 因此 ∃ k ∈ Z \exists k\in \mathbb{Z} kZ, 使得 p − 1 = k d p-1=kd p1=kd. 成立
x p − x = x ( x p − 1 − 1 ) = x ( x k d − 1 ) = x ( ( x d ) k − 1 ) = x ( x d − 1 ) ( ( x d ) k − 1 + ( x d ) k − 2 + ⋯ + ( x d ) 1 + 1 ) . \begin{aligned} & {
{x}^{p}}-x=x\left( {
{x}^{p-1}}-1 \right)=x\left( {
{x}^{kd}}-1 \right) \\ & =x\left( {
{\left( {
{x}^{d}} \right)}^{k}}-1 \right)=x\left( {
{x}^{d}}-1 \right)\left( {
{\left( {
{x}^{d}} \right)}^{k-1}}+{
{\left( {
{x}^{d}} \right)}^{k-2}}+\cdots +{
{\left( {
{x}^{d}} \right)}^{1}}+1 \right). \\ \end{aligned}
xpx=x(xp11)=x(xkd1)=x((xd)k1)=x(xd1)((xd)k1+(xd)k2++(xd)1+1).

即有 x d − 1 ∣ x p − x \left. {
{x}^{d}}-1 \right|{
{x}^{p}}-x
xd1xpx
, x d − 1 {
{x}^{d}}-1
xd1
x p − x {
{x}^{p}}-x
xpx
得到的余式是 0 0 0, 由博文《素数模同余式次数与其解数的关系》定理6, 同余式 x d ≡ 1     m o d   p {
{x}^{d}}\equiv 1\text{ }\bmod p
xd1 modp
恰好有 d d d个根.
另一方面, 由式(4.1), 成立 ( a k ) d = ( a d ) k ≡ 1     m o d   p {
{\left( {
{a}^{k}} \right)}^{d}}={
{\left( {
{a}^{d}} \right)}^{k}}\equiv 1\text{ }\bmod p
(ak)d=(ad)k1 modp
, 因此 1 , a , a 2 , ⋯   , a d − 1 1,a,{
{a}^{2}},\cdots ,{
{a}^{d-1}}
1,a,a2,,ad1
d d d个数均为同余式 x d ≡ 1     m o d   p {
{x}^{d}}\equiv 1\text{ }\bmod p
xd1 modp
的根. 且根据博文《指数和原根》定理5(1), 1 , a , a 2 , ⋯   , a d − 1 1,a,{
{a}^{2}},\cdots ,{
{a}^{d-1}}
1,a,a2,,ad1
两两不同余, 因此 S S S可表示为
S = { x   m o d   p ,   x ∈ { 1 , a , a 2 , ⋯   , a d − 1 } } ⊇ X ( d ) . (4.2) S=\left\{ x\bmod p,\text{ }x\in \left\{ 1,a,{
{a}^{2}},\cdots ,{
{a}^{d-1}} \right\} \right\}\supseteq X\left( d \right). \tag{4.2}
S={
xmodp, x{
1,a,a2,,ad1}
}
X(d).(4.2)









第二步, 由博文《指数和原根》定理9, a k {
{a}^{k}}
ak
对模 p p p的指数为 d gcd ⁡ ( d , k ) \frac{d}{\gcd \left( d,k \right)} gcd(d,k)d. 因此成立推理
( a k   m o d   p ) ∈ X ( d )   ⇒   d gcd ⁡ ( d , k ) = d   ⇒   gcd ⁡ ( d , k ) = 1. \left( {
{a}^{k}}\bmod p \right)\in X\left( d \right)\text{ }\Rightarrow \text{ }\frac{d}{\gcd \left( d,k \right)}=d\text{ }\Rightarrow \text{ }\gcd \left( d,k \right)=1.
(akmodp)X(d)  gcd(d,k)d=d  gcd(d,k)=1.

由式(4.2), X ( d ) X\left( d \right) X(d)中的元素均为 ( a k     m o d   p ) \left( {
{a}^{k}}\text{ }\bmod p \right)
(ak modp)
的形式, 因此有 ∣ X ( d ) ∣ ≤ φ ( d ) . (4.3) \left| X\left( d \right) \right|\le \varphi \left( d \right). \tag{4.3} X(d)φ(d).(4.3)

第三步, 一方面, ∀ n ∈ { 1 , 2 , ⋯   , p − 1 } \forall n\in \left\{ 1,2,\cdots ,p-1 \right\} n{
1,2,,p1}
, 由于 p p p是素数, gcd ⁡ ( n , p ) = 1 \gcd \left( n,p \right)=1 gcd(n,p)=1, 因此 n n n对模 p p p的指数存在, 设为 d n {
{d}_{n}}
dn
, 成立 n ∈ X ( d n ) n\in X\left( {
{d}_{n}} \right)
nX(dn)
. 由费马小定理, 成立 n p − 1 ≡ 1     m o d   p {
{n}^{p-1}}\equiv 1\text{ }\bmod p
np11 modp
. 根据博文《指数和原根》定理5(3), 有 d n ∣ p − 1 \left. {
{d}_{n}} \right|p-1
dnp1
.于是成立
{ n ∈ Z :   1 ≤ n < p } ⊆ ⋃ d ∣ p − 1 X ( d ) . (4.4) \left\{ n\in \mathbb{Z}:\text{ }1\le n

{}}{X\left( d \right)}. \tag{4.4} {
nZ: 1n<p}
dp1X(d).(4.4)

另一方面, 由 X ( d ) X\left( d \right) X(d)的定义, 有 ∀ d \forall d d满足 d ∣ p − 1 \left. d \right|p-1 dp1, X ( d ) ⊆ { n ∈ Z :   1 ≤ n < p } X\left( d \right)\subseteq \left\{ n\in \mathbb{Z}:\text{ }1\le n

X(d){
nZ: 1n<p}
, 即成立
⋃ d ∣ p − 1 X ( d ) ⊆ { n ∈ Z :   1 ≤ n < p } . (4.5) \bigcup\limits_{\left. d \right|p-1}^{ {}}{X\left( d \right)}\subseteq \left\{ n\in \mathbb{Z}:\text{ }1\le n

dp1X(d){
nZ: 1n<p}
.
(4.5)

由式(4.4), 式(4.5), 成立
⋃ d ∣ p − 1 X ( d ) = { n ∈ Z :   1 ≤ n < p } . (4.6) \bigcup\limits_{\left. d \right|p-1}^{ {}}{X\left( d \right)}=\left\{ n\in \mathbb{Z}:\text{ }1\le n

dp1X(d)={
nZ: 1n<p}
.
(4.6)

第四步, 由博文《初等数论 课堂笔记 第三章 – 欧拉函数》中的定理, 成立
∑ d ∣ p − 1 φ ( d ) = p − 1. (4.7) \sum\limits_{\left. d \right|p-1}^{
{}}{\varphi \left( d \right)}=p-1. \tag{4.7}
dp1φ(d)=p1.(4.7)

由式(4.6), (4.3), (4.7), 成立
p − 1 = ∣ ⋃ d ∣ p − 1 X ( d ) ∣ = ∑ d ∣ p − 1 ∣ X ( d ) ∣   ( 不 同 的 X ( d ) 彼 此 互 不 相 交 ) ≤ ∑ d ∣ p − 1 φ ( d ) = p − 1. \begin{aligned} & p-1=\left| \bigcup\limits_{\left. d \right|p-1}^{
{}}{X\left( d \right)} \right|=\sum\limits_{\left. d \right|p-1}^{
{}}{\left| X\left( d \right) \right|}\text{ }\left( 不同的X\left( d \right)彼此互不相交 \right) \\ & \le \sum\limits_{\left. d \right|p-1}^{
{}}{\varphi \left( d \right)}=p-1. \\ \end{aligned}
p1=dp1X(d)=dp1X(d) (X(d))dp1φ(d)=p1.

因此只能是 ∀ d \forall d d满足 d ∣ p − 1 \left. d \right|p-1 dp1, 成立
∣ X ( d ) ∣ = φ ( d ) . \left| X\left( d \right) \right|=\varphi \left( d \right). X(d)=φ(d).







推论5: 设 p p p是素数, d ∣ p − 1 \left. d \right|p-1 dp1, 则有 X ( d ) = { ( a k   m o d   p ) :   gcd ⁡ ( d , k ) = 1 } . X\left( d \right)=\left\{ \left( {
{a}^{k}}\bmod p \right):\text{ }\gcd \left( d,k \right)=1 \right\}.
X(d)={
(akmodp): gcd(d,k)=1}
.

证明 首先, 由式(4.2), ∀ x ∈ X ( d ) \forall x\in X\left( d \right) xX(d), ∃ k ∈ { 0 , 1 , ⋯   , d − 1 } \exists k\in \left\{ 0,1,\cdots ,d-1 \right\} k{
0,1,,d1}
, 使得
x = ( a k   m o d   p ) . x=\left( {
{a}^{k}}\bmod p \right).
x=(akmodp).

且在引理4第二步中已经得到推理
( a k     m o d   p ) ∈ X ( d )   ⇒   d gcd ⁡ ( d , k ) = d   ⇒   gcd ⁡ ( d , k ) = 1. \left( {
{a}^{k}}\text{ }\bmod p \right)\in X\left( d \right)\text{ }\Rightarrow \text{ }\frac{d}{\gcd \left( d,k \right)}=d\text{ }\Rightarrow \text{ }\gcd \left( d,k \right)=1.
(ak modp)X(d)  gcd(d,k)d=d  gcd(d,k)=1.

∃ k \exists k k满足 gcd ⁡ ( d , k ) = 1 \gcd \left( d,k \right)=1 gcd(d,k)=1, 而 a k     m o d   p ∉ X ( d ) {
{a}^{k}}\text{ }\bmod p\notin X\left( d \right)
ak modp/X(d)
, 则有 ∣ X ( d ) ∣ < φ ( d ) \left| X\left( d \right) \right|<\varphi \left( d \right) X(d)<φ(d), 矛盾. 由反证法即可证得推论5.






推论6: 设 p p p是素数, 则模 p p p的原根有 φ ( p − 1 ) \varphi \left( p-1 \right) φ(p1)个.

证明 根据引理4, 模 p p p的原根个数即为 ∣ X ( p − 1 ) ∣ = φ ( p − 1 ) > 0 \left| X\left( p-1 \right) \right|=\varphi \left( p-1 \right)>0 X(p1)=φ(p1)>0.


方法7: 设 p p p是素数, 用穷举法求一个数 n ∈ { 1 , 2 , ⋯   , p − 1 } n\in \left\{ 1,2,\cdots ,p-1 \right\} n{
1,2,,p1}
对模 p p p的指数.

由于 ∀ n ∈ { 1 , 2 , ⋯   , p − 1 } \forall n\in \left\{ 1,2,\cdots ,p-1 \right\} n{
1,2,,p1}
, gcd ⁡ ( n , p ) = 1 \gcd \left( n,p \right)=1 gcd(n,p)=1, 由费马小定理, 成立
n p − 1 ≡ 1     m o d   p . {
{n}^{p-1}}\equiv 1\text{ }\bmod p.
np11 modp.

博文《指数和原根》命题2和定理5(3), n n n p p p的指数存在, 记为 δ \delta δ, 满足 δ ∣ p − 1 \left. \delta \right|p-1 δp1.
于是我们只需要从小到大逐个地用 p − 1 p-1 p1的因数 d d d考察是否成立 n d ≡ 1     m o d   p {
{n}^{d}}\equiv 1\text{ }\bmod p
nd1 modp
即可.





例子8 (用方法7找出一些小素数的所有原根)

模数 p = 3 p=3 p=3, p − 1 = 2 p-1=2 p1=2的所有因数是 1 ,   2 1,\text{ }2 1, 2.
1 2 1 1 2 2 4 ≡ 1   ⇒   1 ≤ n < 3 1 2 n 的 指 数 1 2 \begin{matrix} {} & 1 & 2 \\ 1 & 1 & {} \\ 2 & 2 & 4\equiv 1 \\ \end{matrix}\text{ }\Rightarrow \text{ }\begin{matrix} 1\le n<3 & 1 & 2 \\ n的指数 & 1 & 2 \\ \end{matrix} 12112241  1n<3n1122
模数 p = 5 p=5 p=5, p − 1 = 4 p-1=4 p1=4的所有因数是 1 ,   2 ,   4 1,\text{ }2,\text{ }4 1, 2, 4.
1 2 4 1 1 2 2 4 16 ≡ 1 3 3 9 ≡ 4 81 ≡ 1 4 4 16 ≡ 1   ⇒   1 ≤ n < 5 1 2 3 4 n 的 指 数 1 4 4 2 \begin{matrix} {} & 1 & 2 & 4 \\ 1 & 1 & {} & {} \\ 2 & 2 & 4 & 16\equiv 1 \\ 3 & 3 & 9\equiv 4 & 81\equiv 1 \\ 4 & 4 & 16\equiv 1 & {} \\ \end{matrix}\text{ }\Rightarrow \text{ }\begin{matrix} 1\le n<5 & 1 & 2 & 3 & 4 \\ n的指数 & 1 & 4 & 4 & 2 \\ \end{matrix} 12341123424941614161811  1n<5n11243442
模数 p = 7 p=7 p=7, p − 1 = 6 p-1=6 p1=6的所有因数是 1 ,   2 ,   3 ,   6 1,\text{ }2,\text{ }3,\text{ }6 1, 2, 3, 6.
1 2 3 6 1 1 2 2 4 8 ≡ 1 3 3 9 ≡ 2 27 ≡ − 1 729 ≡ 1 4 4 16 ≡ 2 64 ≡ 1 5 5 25 ≡ 4 125 ≡ − 1 15625 ≡ 1 6 6 36 ≡ 1   ⇒   1 ≤ n < 7 1 2 3 4 5 6 n 的 指 数 1 3 6 3 6 2 \begin{matrix} {} & 1 & 2 & 3 & 6 \\ 1 & 1 & {} & {} & {} \\ 2 & 2 & 4 & 8\equiv 1 & {} \\ 3 & 3 & 9\equiv 2 & 27\equiv -1 & 729\equiv 1 \\ 4 & 4 & 16\equiv 2 & 64\equiv 1 & {} \\ 5 & 5 & 25\equiv 4 & 125\equiv -1 & 15625\equiv 1 \\ 6 & 6 & 36\equiv 1 & {} & {} \\ \end{matrix}\text{ }\Rightarrow \text{ }\begin{matrix} 1\le n<7 & 1 & 2 & 3 & 4 & 5 & 6 \\ n的指数 & 1 & 3 & 6 & 3 & 6 & 2 \\ \end{matrix} 12345611234562492162254361381271641125167291156251  1n<7n112336435662
汇总成如下表格.
素 数 p 2 3 5 7 p 的 原 根 个 数 φ ( p − 1 ) 1 1 2 2 p 的 原 根 1 2 2 , 3 3 , 5 \begin{matrix} 素数p & 2 & 3 & 5 & 7 \\ p的原根个数\varphi \left( p-1 \right) & 1 & 1 & 2 & 2 \\ p的原根 & 1 & 2 & 2,3 & 3,5 \\ \end{matrix} ppφ(p1)p211312522,3723,5









方法9: 用推论5和穷举法求一个较大素数 p p p的所有原根.

n = 2 n=2 n=2.
第一步: 用方法7求出 n n n p p p的指数 d d d.
第二步: 若 d = φ ( p ) = p − 1 d=\varphi \left( p \right)=p-1 d=φ(p)=p1, 则转第三步, 否则令 n = n + 1 n=n+1 n=n+1, 返回第一步.
第三步: 此时 n n n是模 p p p的最小原根. 找出 { 1 , 2 , ⋯   , p − 1 } \left\{ 1,2,\cdots ,p-1 \right\} {
1,2,,p1}
中所有与 p − 1 p-1 p1互素的数 k k k.
第四步: 根据推论5的结果, 依次计算 n k   m o d   p {
{n}^{k}}\bmod p
nkmodp
.



第一, 二步中最小原根的寻找也可以通过查表法.
在这里插入图片描述
在这里插入图片描述




例子10 (用方法9找出一些较大素数的所有原根)

11 11 11的原根: 因为下面的计算, g = 2 g=2 g=2是最小原根, 其他原根上方的 n n n 11 − 1 = 10 11-1=10 111=10互素.
n 1 2 3 4 5 6 7 8 9 10 2 n     m o d   11 2 ‾ 4 8 ‾ 5 10 9 7 ‾ 3 6 ‾ 1 \begin{matrix} n & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\ {
{2}^{n}}\text{ }\bmod 11 & \underline{2} & 4 & \underline{8} & 5 & 10 & 9 & \underline{7} & 3 & \underline{6} & 1 \\ \end{matrix}
n2n mod111224384551069778396101

13 13 13的原根: 因为下面的计算, g = 2 g=2 g=2是最小原根, 其他原根上方的 n n n 13 − 1 = 12 13-1=12 131=12互素.
n 1 2 3 4 5 6 7 8 9 10 11 12 2 n     m o d   13 2 ‾ 4 8 3 6 ‾ 12 11 ‾ 9 5 10 7 ‾ 1 \begin{matrix} n & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\ {
{2}^{n}}\text{ }\bmod 13 & \underline{2} & 4 & 8 & 3 & \underline{6} & 12 & \underline{11} & 9 & 5 & 10 & \underline{7} & 1 \\ \end{matrix}
n2n mod13122438435661271189951010117121

17 17 17的原根: 因为下面的计算, g = 3 g=3 g=3是最小原根, 其他原根上方的 n n n 17 − 1 = 16 17-1=16 171=16互素.
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 n     m o d   17 2 4 8 16 15 13 9 1 3 n     m o d   17 3 ‾ 9 10 ‾ 13 5 ‾ 15 11 ‾ 16 14 ‾ 8 7 ‾ 4 12 ‾ 2 6 ‾ 1 \begin{matrix} n & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ {
{2}^{n}}\text{ }\bmod 17 & 2 & 4 & 8 & 16 & 15 & 13 & 9 & 1 & {} & {} & {} & {} & {} & {} & {} & {} \\ {
{3}^{n}}\text{ }\bmod 17 & \underline{3} & 9 & \underline{10} & 13 & \underline{5} & 15 & \underline{11} & 16 & \underline{14} & 8 & \underline{7} & 4 & \underline{12} & 2 & \underline{6} & 1 \\ \end{matrix}
n2n mod173n mod17123249381041613515561315791181169141081171241312142156161

19 19 19的原根: 因为下面的计算, g = 2 g=2 g=2是最小原根, 其他原根上方的 n n n 19 − 1 = 18 19-1=18 191=18互素.
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 n     m o d   19 2 ‾ 4 8 16 13 ‾ 7 14 ‾ 9 18 17 15 ‾ 11 3 ‾ 6 12 5 10 ‾ 1 \begin{matrix} n & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 \\ {
{2}^{n}}\text{ }\bmod 19 & \underline{2} & 4 & 8 & 16 & \underline{13} & 7 & \underline{14} & 9 & 18 & 17 & \underline{15} & 11 & \underline{3} & 6 & 12 & 5 & \underline{10} & 1 \\ \end{matrix}
n2n mod19122438416513677148991810171115121113314615121651710181

汇总得到如下结果.
素 数 p 11 13 17 19 p 的 原 根 个 数 φ ( p − 1 ) 4 4 8 6 p 的 原 根 2 , 6 , 7 , 8 2 , 6 , 7 , 11 3 , 5 , 6 , 7 , 10 , 11 , 12 , 14 2 , 3 , 10 , 13 , 14 , 15 \begin{matrix} 素数p & 11 & 13 & 17 & 19 \\ p的原根个数\varphi \left( p-1 \right) & 4 & 4 & 8 & 6 \\ p的原根 & 2,6,7,8 & 2,6,7,11 & 3,5,6,7,10,11,12,14 & 2,3,10,13,14,15 \\ \end{matrix} ppφ(p1)p1142,6,7,81342,6,7,111783,5,6,7,10,11,12,141962,3,10,13,14,15











例子11 (找出一些合数的所有原根)

(1) 2 2 = 4 {
{2}^{2}}=4
22=4
仅有1个原根, 为3.
n     m o d   4 ,   gcd ⁡ ( n , 4 ) = 1 1 3 n 的 指 数 1 2 = φ ( 4 ) \begin{matrix} n\text{ }\bmod 4,\text{ }\gcd \left( n,4 \right)=1 & 1 & 3 \\ n的指数 & 1 & 2=\varphi \left( 4 \right) \\ \end{matrix} n mod4, gcd(n,4)=1n1132=φ(4)
表中只考虑 gcd ⁡ ( n , 4 ) = 1 \gcd \left( n,4 \right)=1 gcd(n,4)=1的数 n n n的理论依据是博文《指数和原根》定理12, 下同.

(2) 6 6 6仅有1个原根, 为 5 5 5.
n     m o d   6 ,   gcd ⁡ ( n , 6 ) = 1 1 5 n 的 指 数 1 2 = φ ( 6 ) \begin{matrix} n\text{ }\bmod 6,\text{ }\gcd \left( n,6 \right)=1 & 1 & 5 \\ n的指数 & 1 & 2=\varphi \left( 6 \right) \\ \end{matrix} n mod6, gcd(n,6)=1n1152=φ(6)

(3) 8 8 8没有原根, 因为 φ ( 8 ) = 4 \varphi \left( 8 \right)=4 φ(8)=4
n     m o d   8 ,   gcd ⁡ ( n , 8 ) = 1 1 3 5 7 n 的 指 数 1 2 2 2 \begin{matrix} n\text{ }\bmod 8,\text{ }\gcd \left( n,8 \right)=1 & 1 & 3 & 5 & 7 \\ n的指数 & 1 & 2 & 2 & 2 \\ \end{matrix} n mod8, gcd(n,8)=1n11325272



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228937.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:50
下一篇 2026年3月16日 下午5:51


相关推荐

  • 观察者模式observer不适用于_观察者模式代码

    观察者模式observer不适用于_观察者模式代码观察者模式Obeserver动机模式定义实例结构图要点总结笔记动机在软件构建过程中,我们需要为某些对象建立 一种“通知依赖关系” —-一个对象发(目标对象)的状态发生改变,所有依赖的对象(观察者对象)都将很好的得到通知。如果这样的依赖关系过于紧密。将使软件不能很好的抵御变化使用面向对象技术 可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。模式定义定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(subject)的状态发生改变时,所有依赖于它的对象都得到通

    2022年8月9日
    6
  • ajax怎么解决报414,关于c#:HTTP错误414。请求URL太长。 asp.net

    ajax怎么解决报414,关于c#:HTTP错误414。请求URL太长。 asp.net我收到错误”HTTP错误414。请求URL太长”。从下面的文章中,我了解到这是由于查询字符串很长所致:在web.config中,我有maxQueryStringLength=”2097151″。这是最大值吗?为了解决此问题,我应该在web.config中设置maxUrl吗?如果是这样,支持的最大值是多少?我该怎么办才能解决此错误?是否可以将URL中的某些长字符串替换为整数或Guid?如果…

    2022年6月3日
    45
  • 数据挖掘应用实例分析

    数据挖掘应用实例分析数据挖掘应用实例分析——个性化推荐系统​ 数据挖掘技术,一门基于计算机技术与大数据时代信息处理需求的技术产物,从世纪之交的火热发展以来,不知不觉间,早已应用到我们生活的方方面面:电子邮箱中的垃圾邮件分类、电影院的票房预测、网页上的广告推荐、语音识别、电网语义精确搜索等。还有人工智能、自然语言处理、数据修正等。我们认为,数据挖掘技术将成为互联网时代应用最广泛的技术之一,它有可能为人类社会带来一个新的时代。​ 但是由于笔者才疏学浅,今天我们暂不谈得那么高深,只分析的一个常见的应用实例——个性化推荐系统。

    2022年6月15日
    33
  • fiori教程_英语入门自学方法

    fiori教程_英语入门自学方法DecouplingthelifecycleoftheUIappsfromthebackend,especiallyfortheappsthatmustalsorunonanyDB.a.AllowfasteriterationsfortheUIappsb.AllowchangestoUIbyLOBwithoutthen…

    2025年8月20日
    5
  • VLLM+FastAPI部署时服务器配置要求?

    VLLM+FastAPI部署时服务器配置要求?

    2026年3月13日
    2
  • 科大讯飞(002230):业绩符合预期 星火大模型投入持续加码

    科大讯飞(002230):业绩符合预期 星火大模型投入持续加码

    2026年3月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号