初等数论【咕咕咕】

LaTeX \LaTeX LATEX 太那啥了啊(又悲又恼

如有错误或 LaTeX \LaTeX LATEX 不规范的地方,请在评论区指出

1. 整除

1.1. 定义

a , b ∈ Z , a ≠ 0 a,b\in \mathbb{Z},a\ne0 a,bZ,a=0 ,如果 ∃   q \exists\ q  q ,使 a q = b aq=b aq=b ,则 b b b 能被 a a a 整除,记作 a ∣ b a\mid b ab ,否则, b b b 不能被 a a a 整除,记作 a ∤ b a\nmid b ab

1.2. 性质

1.2.1. 性质1

a ∣ b , b ∣ c a\mid b,b\mid c ab,bc ,则 a ∣ c a\mid c ac

证明:

∵   a ∣ b , b ∣ c 令 a x = b , b y = c ( x , y ∈ Z , x ≠ 0 , y ≠ 0 ) ∴   a x y = c ∵   x , y ∈ Z ∴   x y ∈ Z ∴   a ∣ c \begin{aligned}\because&\ a\mid b,b\mid c\\&\text{令}ax=b,by=c(x,y\in \mathbb{Z},x\ne0,y\ne0)\\\therefore&\ axy=c\\\because&\ x,y\in\mathbb{Z}\\\therefore&\ xy\in\mathbb{Z}\\\therefore&\ a\mid c\end{aligned}  ab,bcax=b,by=c(x,yZ,x=0,y=0) axy=c x,yZ xyZ ac

1.2.2. 性质2

a ∣ b , a ∣ c a\mid b,a\mid c ab,ac ,则有 ∀   x , y ∈ Z \forall\ x,y\in\mathbb{Z}  x,yZ ,满足 a ∣ ( b x + c y ) a\mid(bx+cy) a(bx+cy)

证明:

∵   a ∣ b , a ∣ c 令 a x 1 = b , a y 1 = c ( x 1 , y 1 ∈ Z , x 1 ≠ 0 , y 1 ≠ 0 ) b x + c y = a x 1 x + a y 1 y = a ( x 1 x + y 1 y ) ∵   a ∣ a ( x 1 x + y 1 y ) ∴   a ∣ ( b x + c y ) \begin{aligned}\because&\ a\mid b,a\mid c\\&\text{令}ax_1=b,ay_1=c(x_1,y_1\in\mathbb{Z},x_1\ne0,y_1\ne0)\\ &\begin{aligned}bx+cy&=ax_1x+ay_1y\\&=a(x_1x+y_1y)\end{aligned}\\\because&\ a\mid a(x_1x+y_1y)\\\therefore&\ a\mid(bx+cy)\end{aligned}  ab,acax1=b,ay1=c(x1,y1Z,x1=0,y1=0)bx+cy=ax1x+ay1y=a(x1x+y1y) aa(x1x+y1y) a(bx+cy)

1.2.3. 性质3

a ∣ b a\mid b ab ,则 a m ∣ b m ( m ≠ 0 ) am\mid bm(m\ne0) ambm(m=0)

证明:

∵   a ∣ b 令 a x = b ( x ∈ Z , x ≠ 0 ) ∴   a m x = b m ∴   a m ∣ b m \begin{aligned}\because&\ a\mid b\\&\text{令}ax=b(x\in\mathbb{Z},x\ne0)\\\therefore&\ amx=bm\\\therefore&\ am\mid bm\end{aligned}  abax=b(xZ,x=0) amx=bm ambm

1.2.4. 性质4

∀   x , y ∈ Z \forall\ x,y\in\mathbb{Z}  x,yZ 满足 a x + b y = 1 ax+by=1 ax+by=1 ,且 a ∣ n , b ∣ n a\mid n,b\mid n an,bn ,则 a b ∣ n ab\mid n abn

证明:

∵   a ∣ n , b ∣ n 令 a x 1 = n , b y 1 = n ( x 1 , y 1 ∈ Z , x 1 , y 1 ≠ 0 ) a x + b y = 1 x b + y a = 1 a b x n b + y n a = n a b b y 1 x b + a x 1 y a = n a b x y 1 + x 1 y = n a b ∵   x , y , x 1 , y 1 ∈ Z ∴   x y 1 + x 1 y ∈ Z ∴   n a b ∈ Z ∴   a b ∣ n \begin{aligned}\because&\ a\mid n,b\mid n\\&\text{令}ax_1=n,by_1=n(x_1,y_1\in\mathbb{Z},x_1,y_1\ne0)\\&\begin{aligned}ax+by&=1\\\dfrac{x}{b}+\dfrac{y}{a}&=\dfrac{1}{ab}\\\dfrac{xn}{b}+\dfrac{yn}{a}&=\dfrac{n}{ab}\\\dfrac{by_1x}{b}+\dfrac{ax_1y}{a}&=\dfrac{n}{ab}\\xy_1+x_1y&=\dfrac{n}{ab}\end{aligned}\\\because&\ x,y,x_1,y_1\in\mathbb{Z}\\\therefore&\ xy_1+x_1y\in\mathbb{Z}\\\therefore&\ \dfrac{n}{ab}\in\mathbb{Z}\\\therefore&\ ab\mid n\end{aligned}  an,bnax1=n,by1=n(x1,y1Z,x1,y1=0)ax+bybx+aybxn+aynbby1x+aax1yxy1+x1y=1=ab1=abn=abn=abn x,y,x1,y1Z xy1+x1yZ abnZ abn

1.2.5. 性质5

b = d q + c , q ∈ Z b=dq+c,q\in\mathbb{Z} b=dq+c,qZ ,那么 d ∣ b d\mid b db 的充要条件为 d ∣ c d\mid c dc

证明1(若 d ∣ b d\mid b db ,则 d ∣ c d\mid c dc):

∵   d ∣ b 令 d k = b ( k ∈ Z , k ≠ 0 ) ∴   b = d q + c ⟺ d k = d q + c ∴   d ∣ c \begin{aligned}\because&\ d\mid b\\&\text{令}dk=b(k\in\mathbb{Z},k\ne0)\\\therefore&\ b=dq+c\Longleftrightarrow dk=dq+c\\\therefore&\ d\mid c\end{aligned}  dbdk=b(kZ,k=0) b=dq+cdk=dq+c dc

证明2(若 d ∣ c d\mid c dc ,则 d ∣ b d\mid b db):

∵   d ∣ c 令 d k = c ( k ∈ Z , k ≠ 0 ) ∴   b = d q + c ⟺ b = d ( p + k ) ∴   d ∣ b \begin{aligned}\because&\ d\mid c\\&\text{令}dk=c(k\in\mathbb{Z},k\ne0)\\\therefore&\ b=dq+c\Longleftrightarrow b=d(p+k)\\\therefore&\ d\mid b\end{aligned}  dcdk=c(kZ,k=0) b=dq+cb=d(p+k) db

2. 模运算

2.1. 定义

定义:有 ∀   a , b ∈ Z , b ≠ 0 \forall\ a,b\in\mathbb{Z},b\ne0  a,bZ,b=0 ,求 a ÷ b a\div b a÷b 的余数,称 a a a b b b ,记作 a   m o d   b a\bmod b amodb

2.2. 性质

2.2.1. 性质1

( a + b )   m o d   c = ( a   m o d   c + b   m o d   c )   m o d   c (a+b)\bmod c=(a\bmod c+b\bmod c)\bmod c (a+b)modc=(amodc+bmodc)modc

2.2.2. 性质2

( a − b )   m o d   c = ( a   m o d   c − b   m o d   c )   m o d   c (a-b)\bmod c=(a\bmod c-b\bmod c)\bmod c (ab)modc=(amodcbmodc)modc

2.2.3. 性质3

( a b )   m o d   c = [   ( a   m o d   c ) × ( b   m o d   c )   ]   m o d   c (ab)\bmod c=[\ (a\bmod c)\times(b\bmod c)\ ]\bmod c (ab)modc=[ (amodc)×(bmodc) ]modc

证明:

设 a   m o d   c = m a , b   m o d   c = m b ( m a , m b ∈ Z ) ∵   a   m o d   c = m a , b   m o d   c = m b 令 a = m a + x s a , b = m b + c s b ( s a , s b ∈ Z ) ( a b )   m o d   c = [   ( m a + c s a ) ( m b + c s b )   ]   m o d   c = ( m a m b + c m a s b + c m b s a + c 2 s a s b )   m o d   c = ( m a m b )   m o d   c = [   ( a   m o d   c ) × ( b   m o d   c )   ]   m o d   c \begin{aligned}\text{设}&a\bmod c=m_a,b\bmod c=m_b(m_a,m_b\in\mathbb{Z})\\ \because&\ a\bmod c=m_a,b\bmod c=m_b\\ \text{令}&a=m_a+xs_a,b=m_b+cs_b(s_a,s_b\in\mathbb{Z})\\ &\begin{aligned}(ab)\bmod c&=[\ (m_a+cs_a)(m_b+cs_b)\ ]\bmod c\\&=(m_am_b+cm_as_b+cm_bs_a+c^2s_as_b)\bmod c\\&=(m_am_b)\bmod c\\&=[\ (a\bmod c)\times(b\bmod c)\ ]\bmod c\end{aligned}\end{aligned} amodc=ma,bmodc=mb(ma,mbZ) amodc=ma,bmodc=mba=ma+xsa,b=mb+csb(sa,sbZ)(ab)modc=[ (ma+csa)(mb+csb) ]modc=(mamb+cmasb+cmbsa+c2sasb)modc=(mamb)modc=[ (amodc)×(bmodc) ]modc

2.2.4. 性质4

属于性质三的一种扩展

( a b )   m o d   c = ( a   m o d   c ) b   m o d   c (a^b)\bmod c=(a\bmod c)^b\bmod c (ab)modc=(amodc)bmodc

2.2.5. 性质5

如果 a   m o d   b = c , d ≠ 0 , d ∈ Z a\bmod b=c,d\ne0,d\in\mathbb{Z} amodb=c,d=0,dZ ,则 ( a d )   m o d   ( b d ) = c d (ad)\bmod(bd)=cd (ad)mod(bd)=cd

证明:

∵   a   m o d   b = c 设 b x + c = a ( x ∈ Z ) ∴   b x + c = a ⟺ b d x + c d = a d ∴   ( a d )   m o d   ( b d ) = c d \begin{aligned}\because&\ a\bmod b=c\\&\text{设}bx+c=a(x\in\mathbb{Z})\\\therefore&\ bx+c=a\Longleftrightarrow bdx+cd=ad\\\therefore&\ (ad)\bmod(bd)=cd\end{aligned}  amodb=cbx+c=a(xZ) bx+c=abdx+cd=ad (ad)mod(bd)=cd

2.2.6. 性质6

如果 a   m o d   b = c , d ∣ a , d ∣ b a\bmod b=c,d\mid a,d\mid b amodb=c,da,db ,则 ( a d )   m o d   ( b d ) = c d (\dfrac{a}{d})\bmod(\dfrac{b}{d})=\dfrac{c}{d} (da)mod(db)=dc

证明:

∵   a   m o d   b = c 设 b x + c = a ( x ∈ Z ) ∴   b x + c = a ⟺ b d x + c d = a d ∴   ( a d )   m o d   ( b d ) = c d \begin{aligned}\because&\ a\bmod b=c\\&\text{设}bx+c=a(x\in\mathbb{Z})\\\therefore&\ bx+c=a\Longleftrightarrow \dfrac{b}{d}x+\dfrac{c}{d}=\dfrac{a}{d}\\\therefore&\ (\dfrac{a}{d})\bmod(\dfrac{b}{d})=\dfrac{c}{d}\end{aligned}  amodb=cbx+c=a(xZ) bx+c=adbx+dc=da (da)mod(db)=dc

3. 同余

3.1. 定义

m m m 是给定的 Z + \mathbb{Z}^+ Z+ ,若满足 m ∣ ( a − b ) m\mid(a-b) m(ab) ,则称 a a a b b b 对模 m m m 同余,记作 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ;若满足 m ∤ ( a − b ) m\nmid(a-b) m(ab) ,则称 a a a b b b 对模 m m m 不同余

如果将定义反过来,如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ,则 m ∣ ( a − b ) m\mid(a-b) m(ab)(即 a ≡ b ( m o d m )    ⟺    m ∣ ( a − b ) a\equiv b\pmod{m}\iff m\mid(a-b) ab(modm)m(ab)

证明1(已知 m ∣ ( a − b ) m\mid(a-b) m(ab)):

∵   m ∣ ( a − b ) 令 m k = a − b ( k ∈ Z , k ≠ 0 ) ∴   m k = a − b ⟺ m k + b = a ⟺ b   m o d   m = a   m o d   m ∴   a ≡ b ( m o d m ) \begin{aligned}\because&\ m\mid(a-b)\\&\text{令}mk=a-b(k\in\mathbb{Z},k\ne0)\\\therefore&\ mk=a-b\Longleftrightarrow mk+b=a\Longleftrightarrow b\bmod m=a\bmod m\\\therefore&\ a\equiv b\pmod{m}\end{aligned}  m(ab)mk=ab(kZ,k=0) mk=abmk+b=abmodm=amodm ab(modm)

证明2(已知 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm)):

∵   a ≡ b ( m o d m ) ∴   a   m o d   m = b   m o d   m 令 m x + k = a , m y + k = b ( x , y , k ∈ Z ) a − b = m x + k − m y − k = m ( x − y ) ∵   m ∣ m ( x − y ) ∴   m ∣ ( a − b ) \begin{aligned}\because&\ a\equiv b\pmod{m}\\\therefore&\ a\bmod m=b\bmod m\\&\text{令}mx+k=a,my+k=b(x,y,k\in\mathbb{Z})\\&\begin{aligned}a-b&=mx+k-my-k\\&=m(x-y)\\\end{aligned}\\\because&\ m\mid m(x-y)\\\therefore&\ m\mid(a-b)\end{aligned}  ab(modm) amodm=bmodmmx+k=a,my+k=b(x,y,kZ)ab=mx+kmyk=m(xy) mm(xy) m(ab)

3.2. 性质

3.2.1. 性质1

a ≡ a ( m o d m ) a\equiv a\pmod{m} aa(modm)

3.2.2. 性质2

如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ,那么 b ≡ a ( m o d m ) b\equiv a\pmod{m} ba(modm)

3.2.3. 性质3

如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) b ≡ c ( m o d m ) b\equiv c\pmod{m} bc(modm) ,那么 a ≡ c ( m o d m ) a\equiv c\pmod{m} ac(modm)

3.2.4. 性质4

如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ,那么 ( a + c ) ≡ ( b + c ) ( m o d m ) (a+c)\equiv(b+c)\pmod{m} (a+c)(b+c)(modm)

证明:

∵   a ≡ b ( m o d m ) 令 m k = a − b ( k ∈ Z ) m k = a − b = a + c − b − c = ( a + c ) − ( b + c ) ∴   ( a + c ) ≡ ( b + c ) ( m o d m ) \begin{aligned}\because&\ a\equiv b\pmod{m}\\&\text{令}mk=a-b(k\in\mathtt{Z})\\&\begin{aligned}mk&=a-b\\&=a+c-b-c\\&=(a+c)-(b+c)\end{aligned}\\\therefore&\ (a+c)\equiv(b+c)\pmod{m}\end{aligned}  ab(modm)mk=ab(kZ)mk=ab=a+cbc=(a+c)(b+c) (a+c)(b+c)(modm)

3.2.5. 性质5

如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ,那么 ( a − c ) ≡ ( b − c ) ( m o d m ) (a-c)\equiv(b-c)\pmod{m} (ac)(bc)(modm)

证明方法类似于性质3

3.2.6. 性质6

如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ,那么 ( a c ) ≡ ( b c ) ( m o d m ) (ac)\equiv(bc)\pmod{m} (ac)(bc)(modm)

证明:

∵   a ≡ b ( m o d m ) 令 m k = a − b ( k ∈ Z ) ∴   m k = a − b ⟺ m k c = a c − b c ∴   ( a c ) ≡ ( b c ) ( m o d m ) \begin{aligned}\because&\ a\equiv b\pmod{m}\\&\text{令}mk=a-b(k\in\mathtt{Z})\\\therefore&\ mk=a-b\Longleftrightarrow mkc=ac-bc\\\therefore&\ (ac)\equiv(bc)\pmod{m}\end{aligned}  ab(modm)mk=ab(kZ) mk=abmkc=acbc (ac)(bc)(modm)

3.2.7. 性质7

如果 a ≡ b ( m o d m ) , c ∣ a , c ∣ b , ( c , m ) = 1 a\equiv b\pmod{m},c\mid a,c\mid b,(c,m)=1 ab(modm),ca,cb,(c,m)=1 ,那么 ( a c ) ≡ ( b c ) ( m o d m ) (\dfrac{a}{c})\equiv(\dfrac{b}{c})\pmod{m} (ca)(cb)(modm)

多说一句: ( a , b ) = gcd ⁡ ( a , b ) (a,b)=\gcd(a,b) (a,b)=gcd(a,b)

证明:

∵   a ≡ b ( m o d m ) 令 m k = a − b ( k ∈ Z ) ∴   m k = a − b ⟺ m k c = a c − b c ∵   c ∣ a , c ∣ b ∴   a c , b c ∈ Z ∴   m k c ∈ Z ∵   ( c , m ) = 1 ∴   m c ∉ Z ∴   k c ∈ Z ∴   a c ≡ b c ( m o d m ) \begin{aligned}\because&\ a\equiv b\pmod{m}\\&\text{令}mk=a-b(k\in\mathtt{Z})\\\therefore&\ mk=a-b\Longleftrightarrow m\dfrac{k}{c}&=\dfrac{a}{c}-\dfrac{b}{c}\\\because&\ c\mid a,c\mid b\\\therefore&\ \dfrac{a}{c},\dfrac{b}{c}\in\mathbb{Z}\\\therefore&\ \dfrac{mk}{c}\in\mathbb{Z}\\\because&\ (c,m)=1\\\therefore&\ \dfrac{m}{c}\not\in\mathbb{Z}\\\therefore&\ \dfrac{k}{c}\in\mathbb{Z}\\\therefore&\ \dfrac{a}{c}\equiv\dfrac{b}{c}\pmod{m}\end{aligned}  ab(modm)mk=ab(kZ) mk=abmck ca,cb ca,cbZ cmkZ (c,m)=1 cmZ ckZ cacb(modm)=cacb

3.2.8. 性质8

如果 a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm) ,那么 ( a c ) ≡ ( b c ) ( m o d m ) (a^c)\equiv(b^c)\pmod{m} (ac)(bc)(modm)

证明:

∵   a ≡ b ( m o d m ) 令 m k = a − b ( k ∈ Z ) m k = a − b m k × ∑ i = 0 c − 1 a i b c − i − 1 = ( a − b ) × ∑ i = 0 c − 1 a i b c − i − 1 m k × ∑ i = 0 c − 1 a i b c − i − 1 = a c − b c ∴   ( a c ) ≡ ( b c ) ( m o d m ) \begin{aligned}\because&\ a\equiv b\pmod{m}\\&\text{令}mk=a-b(k\in\mathtt{Z})\\\\&\begin{aligned}mk&=a-b\\mk\times\sum\limits_{i=0}^{c-1}a^ib^{c-i-1}&=(a-b)\times\sum\limits_{i=0}^{c-1}a^ib^{c-i-1}\\mk\times\sum\limits_{i=0}^{c-1}a^ib^{c-i-1}&=a^c-b^c\end{aligned}\\\\\therefore&\ (a^c)\equiv(b^c)\pmod{m}\end{aligned}  ab(modm)mk=ab(kZ)mkmk×i=0c1aibci1mk×i=0c1aibci1=ab=(ab)×i=0c1aibci1=acbc (ac)(bc)(modm)

另注: a n − b n = ( a − b ) × ∑ i = 0 n − 1 a i b n − i − 1 a^n-b^n=(a-b)\times\sum\limits_{i=0}^{n-1}a^ib^{n-i-1} anbn=(ab)×i=0n1aibni1

3.2.9. 性质9

如果 a ≡ b ( m o d m ) , c ≡ d ( m o d m ) a\equiv b\pmod{m},c\equiv d\pmod{m} ab(modm),cd(modm) ,那么 ( a + c ) ≡ ( b + d ) ( m o d m ) (a+c)\equiv (b+d)\pmod{m} (a+c)(b+d)(modm)

证明:

∵   a ≡ b ( m o d m ) , c ≡ d ( m o d m ) 令 m x = a − b , m y = c − d ( x , y ∈ Z ) m x + m y = a − b + c − d m ( x + y ) = a + c − ( b + d ) ∴   ( a + c ) ≡ ( b + d ) ( m o d m ) \begin{aligned}\because&\ a\equiv b\pmod{m},c\equiv d\pmod{m}\\&\text{令}mx=a-b,my=c-d(x,y\in\mathtt{Z})\\&\begin{aligned}mx+my&=a-b+c-d\\m(x+y)&=a+c-(b+d)\end{aligned}\\\therefore&\ (a+c)\equiv(b+d)\pmod{m}\end{aligned}  ab(modm),cd(modm)mx=ab,my=cd(x,yZ)mx+mym(x+y)=ab+cd=a+c(b+d) (a+c)(b+d)(modm)

3.2.10. 性质10

如果 a ≡ b ( m o d m ) , c ≡ d ( m o d m ) a\equiv b\pmod{m},c\equiv d\pmod{m} ab(modm),cd(modm) ,那么 ( a c ) ≡ ( b d ) ( m o d m ) (ac)\equiv (bd)\pmod{m} (ac)(bd)(modm)

证明:

∵   a ≡ b ( m o d m ) , c ≡ d ( m o d m ) 令 m x = a − b , m y = c − d ( x , y ∈ Z ) ∵   m x = a − b , m y = c − d ∴   m x c = a c − b c , m y b = b c − c d ∴   m x c + m y b = a c − b c + b c − c d ⟺ m ( x c + y b ) = a c − b d ∴   ( a c ) ≡ ( b d ) ( m o d m ) \begin{aligned}\because&\ a\equiv b\pmod{m},c\equiv d\pmod{m}\\&\text{令}mx=a-b,my=c-d(x,y\in\mathtt{Z})\\\because&\ mx=a-b,my=c-d\\\therefore&\ mxc=ac-bc,myb=bc-cd\\\therefore&\ mxc+myb=ac-bc+bc-cd\Longleftrightarrow m(xc+yb)=ac-bd \\\therefore&\ (ac)\equiv(bd)\pmod{m}\end{aligned}  ab(modm),cd(modm)mx=ab,my=cd(x,yZ) mx=ab,my=cd mxc=acbc,myb=bccd mxc+myb=acbc+bccdm(xc+yb)=acbd (ac)(bd)(modm)

3.2.11. 性质11

如果 a   m o d   p = x , a   m o d   q = x , ( p , q ) = 1 a\bmod p=x,a\bmod q=x,(p,q)=1 amodp=x,amodq=x,(p,q)=1 ,那么 a   m o d   ( p q ) = x a\bmod (pq)=x amod(pq)=x

证明:

∵   a   m o d   p = x , a   m o d   q = x 令 p k 1 + x = a , q k 2 + x = a ( k 1 , k 2 ∈ Z ) ∴   p k 1 + x = q k 2 + x ∴   p k 1 q = k 2 ∵   k 2 ∈ Z ∴   p k 1 q ∈ Z ∵   ( p , q ) = 1 ∴   p q ∉ Z ∴   k 1 q ∈ Z ∴   q k 3 = k 1 ∴   p k 1 + x = a ⟺ p q k 3 + x = a ∴   a   m o d   ( p q ) = x \begin{aligned}\because&\ a\bmod p=x,a\bmod q=x\\&\text{令}pk_1+x=a,qk_2+x=a(k_1,k_2\in\mathbb{Z})\\\therefore&\ pk_1+x=qk_2+x\\\therefore&\ \dfrac{pk_1}{q}=k_2\\\because&\ k_2\in\mathbb{Z}\\\therefore&\ \dfrac{pk_1}{q}\in\mathbb{Z}\\\because&\ (p,q)=1\\\therefore&\ \dfrac{p}{q}\not\in\mathbb{Z}\\\therefore&\ \dfrac{k_1}{q}\in\mathbb{Z}\\\therefore&\ qk_3=k_1\\\therefore&\ pk_1+x=a\Longleftrightarrow pqk_3+x=a\\\therefore&\ a\bmod(pq)=x\end{aligned}  amodp=x,amodq=xpk1+x=a,qk2+x=a(k1,k2Z) pk1+x=qk2+x qpk1=k2 k2Z qpk1Z (p,q)=1 qpZ qk1Z qk3=k1 pk1+x=apqk3+x=a amod(pq)=x

4. 排列组合

咕咕咕

5. 筛法

5.1. 暴力筛

暴力筛,顾名思义,非常暴力的筛法(?

暴力筛是所有筛法的祖先,需要好好掌握

我们知道,一个数的倍数是一个合数,那么,我们可以进行一个遍历,将每一个数的倍数全部标记一遍,剩下的未被标记的就是质数了

#include<cmath>
#include<cstdio>
bool flag[200000005];
int n,ans,maxn;			//ans 用于统计质数数量, maxn 用于记录最大质数
int main(){
	scanf("%d",&n);
	for(int i=2;i<=sqrt(n);i++){			//只需枚举到 sqrt(n) 即可
											//原理很简单,假设 n=pq(p<q) ,那么,我们一定会在 p 之前的 q 枚举,而 p 的最大值又是 sqrt(n) ,所以枚举到 sqrt(n) 即可
		if(!flag[i]){			//未被标记,说明是质数
			ans++,maxn=i;			//更新数量和最大值
		}
		for(int j=i+i;j<=n;j+=i){			//将其倍数设为合数
			flag[j]=1;
		}
	}
	for(int i=sqrt(n)+1;i<=n;i++){			//因为遍历到 sqrt(n) 就结束了,后面的素数还要再来一个循环统计一次
		if(!flag[i]){
			ans++;
			maxn=i;
		}
	}
	printf("%d %d",ans,maxn);
	return 0;
}

在这里插入图片描述

然而,这显然不是最优筛法

5.2. 埃式筛

我们发现,假设一个合数 n n n 的其中一个质因子为 k k k ,那么 n = k x n=kx n=kx n n n 与其倍数必然已经在遍历到 k k k 的时候标记了,就不用再筛一遍了

所以,我们可以只用筛素数的倍数即可

#include<cmath>
#include<cstdio>
bool flag[200000005];
int n,ans,maxn;
int main(){
	scanf("%d",&n);
	for(int i=2;i<=sqrt(n);i++){
		if(!flag[i]){
			ans++;
			maxn=i;
		}
		if(flag[i]){			//当遍历到素数时,直接跳过,不进行遍历,剩下的和暴力筛一模一样
			continue;
		}
		for(int j=i+i;j<=n;j+=i){
			flag[j]=1;
		}
	}
	for(int i=sqrt(n)+1;i<=n;i++){
		if(!flag[i]){
			ans++;
			maxn=i;
		}
	}
	printf("%d %d",ans,maxn);
	return 0;
}

在这里插入图片描述

埃式筛已经够快了,但是,我们还有一个更快的解决方法

5.3. 欧拉筛

在埃式筛中,某些数依旧会被重复标记两次,比如 12 12 12 ,既会被 3 3 3 标记,也会被 2 2 2 标记

这时,我们尽量让每个数只被标记一次

而欧拉筛的原理是让每一个数被它的最小质因数标记

这里先上代码

#include<cstdio>
bool flag[200000005];
int n,ans,maxn;
int num[1500005],len;			//num 数组用于统计素数数组
int main(){
	scanf("%d",&n);
	for(int i=2;i<=n;i++){
		if(!flag[i]){			//遍历到素数
			num[++len]=i,ans++,maxn=i;
		}
		for(int j=1;j<=len&&num[j]*i<=n;j++){			//枚举可能的最小质因数
			flag[num[j]*i]=1;			//标记
			if(i%num[j]==0){			//后文会有详细解释
				break;
			}
		}
	}
	printf("%d %d",ans,maxn);
	return 0;
}

这里解释一下这一段代码:

if(i%num[j]==0){
	break;
}

假设  n u m [   j   ] = k ∵   k ∣ i ∴   i = k x ( x ∈ Z + ) 当枚举到  n u m [   j + 1   ] = k 1  时 i k 1 = k x k 1 ∵   k < k 1 ∴   k 1  不是最小质因数 \begin{aligned}&\text{假设}\ num[\ j\ ]=k\\\because&\ k\mid i\\\therefore&\ i=kx(x\in\mathbb{Z}^+)\\&\text{当枚举到}\ num[\ j+1\ ]=k_1\ \text{时}\\&ik_1=kxk_1\\\because&\ k<k_1\\\therefore&\ k_1\ \text{不是最小质因数}\end{aligned} 假设 num[ j ]=k ki i=kx(xZ+)当枚举到 num[ j+1 ]=k1 ik1=kxk1 k<k1 k1 不是最小质因数

显然,这样已经违背了欧拉筛的原理,所以退出

在这里插入图片描述

6. gcd/lcm

6.1. 定义

公约数定义:一般设有 k k k 个数 a 1 , a 2 , a 3 , ⋯   , a k ∈ Z + a_1,a_2,a_3,\cdots,a_k\in\mathbb{Z}^+ a1,a2,a3,,akZ+ ,如果 ∃ d ∈ Z + \exists d\in\mathbb{Z}^+ dZ+ ,使 d ∣ a 1 , d ∣ a 2 , d ∣ a 3 , ⋯   , d ∣ a k d\mid a_1,d\mid a_2,d\mid a_3,\cdots,d\mid a_k da1,da2,da3,,dak ,那么 d d d a 1 , a 2 , a 3 , ⋯   , a k a_1,a_2,a_3,\cdots,a_k a1,a2,a3,,ak 的公约数, d d d 是不唯一的

最大公约数:在 a 1 , a 2 , a 3 , ⋯   , a k a_1,a_2,a_3,\cdots,a_k a1,a2,a3,,ak 的公约数集合中,最大的那个公约数称为最大公约数,如果是 a , b a,b a,b 两个元素的最大公约数,记为 gcd ⁡ ( a , b ) \gcd(a,b) gcd(a,b) ,简写为 ( a , b ) (a,b) (a,b)

公因数与最小公因数的定义与公约数与最大公约数的定义类似,注意一下符号即可:

a , b a,b a,b 两个元素的最小公因数记为 lcm ⁡ ( a , b ) \operatorname{lcm}(a,b) lcm(a,b) ,简写为 [ a , b ] [a,b] [a,b]

6.2. 一个定理

gcd ⁡ ( a , b ) × lcm ⁡ ( a , b ) = a b \gcd(a,b)\times\operatorname{lcm}(a,b)=ab gcd(a,b)×lcm(a,b)=ab

证明:

将 a , b 进行质因子分解,设其质因子集合并集为 { p 1 , p 2 , ⋯   , p n } 设 a = p 1 k 1 p 1 k 2 ⋯ p n k n , b = p 1 j 1 p 1 j 2 ⋯ p n j n ( j i , k i ∈ Z , j i ≥ 0 , k i ≥ 0 ) ∵   gcd ⁡ ( a , b ) = p 1 min ⁡ ( k 1 , j 1 ) p 2 min ⁡ ( k 2 , j 2 ) ⋯ p n min ⁡ ( k n , j n ) lcm ⁡ ( a , b ) = p 1 max ⁡ ( k 1 , j 1 ) p 2 max ⁡ ( k 2 , j 2 ) ⋯ p n max ⁡ ( k n , j n ) min ⁡ ( a , b ) + lcm ⁡ ( a , b ) = a + b   ∴ gcd ⁡ ( a , b ) × lcm ⁡ ( a , b ) = p 1 min ⁡ ( k 1 , j 1 ) p 2 min ⁡ ( k 2 , j 2 ) ⋯ p n min ⁡ ( k n , j n ) p 1 max ⁡ ( k 1 , j 1 ) p 2 max ⁡ ( k 2 , j 2 ) ⋯ p n max ⁡ ( k n , j n ) = p 1 min ⁡ ( k 1 , j 1 ) + max ⁡ ( k 1 , j 1 ) p 2 min ⁡ ( k 2 , j 2 ) + max ⁡ ( k 2 , j 2 ) ⋯ p n min ⁡ ( k n , j n ) + max ⁡ ( k n , j n ) = p 1 k 1 + j 1 p 2 k 2 + j 2 ⋯ p n k n + j n = p 1 k 1 p 1 k 2 ⋯ p n k n p 1 j 1 p 1 j 2 ⋯ p n j n = a b \begin{aligned}&\text{将}a,b\text{进行质因子分解,设其质因子集合并集为}\{p_1,p_2,\cdots,p_n\} \\&\text{设}a=p_1^{k_1}p_1^{k_2}\cdots p_n^{k_n},b=p_1^{j_1}p_1^{j_2}\cdots p_n^{j_n}(j_i,k_i\in\mathbb{Z},j_i\ge0,k_i\ge0)\\&\because\ \gcd(a,b)=p_1^{\min(k_1,j_1)}p_2^{\min(k_2,j_2)}\cdots p_n^{\min(k_n,j_n)}\\&\operatorname{lcm}(a,b)=p_1^{\max(k_1,j_1)}p_2^{\max(k_2,j_2)}\cdots p_n^{\max(k_n,j_n)}\\&\min(a,b)+\operatorname{lcm}(a,b)=a+b\\&\ \begin{aligned}\therefore\gcd(a,b)\times\operatorname{lcm}(a,b)&=p_1^{\min(k_1,j_1)}p_2^{\min(k_2,j_2)}\cdots p_n^{\min(k_n,j_n)}p_1^{\max(k_1,j_1)}p_2^{\max(k_2,j_2)}\cdots p_n^{\max(k_n,j_n)}\\&=p_1^{\min(k_1,j_1)+\max(k_1,j_1)}p_2^{\min(k_2,j_2)+\max(k_2,j_2)}\cdots p_n^{\min(k_n,j_n)+\max(k_n,j_n)}\\&=p_1^{k_1+j_1}p_2^{k_2+j_2}\cdots p_n^{k_n+j_n}\\&=p_1^{k_1}p_1^{k_2}\cdots p_n^{k_n}p_1^{j_1}p_1^{j_2}\cdots p_n^{j_n}\\&=ab\end{aligned}\end{aligned} a,b进行质因子分解,设其质因子集合并集为{p1,p2,,pn}a=p1k1p1k2pnkn,b=p1j1p1j2pnjn(ji,kiZ,ji0,ki0) gcd(a,b)=p1min(k1,j1)p2min(k2,j2)pnmin(kn,jn)lcm(a,b)=p1max(k1,j1)p2max(k2,j2)pnmax(kn,jn)min(a,b)+lcm(a,b)=a+b gcd(a,b)×lcm(a,b)=p1min(k1,j1)p2min(k2,j2)pnmin(kn,jn)p1max(k1,j1)p2max(k2,j2)pnmax(kn,jn)=p1min(k1,j1)+max(k1,j1)p2min(k2,j2)+max(k2,j2)pnmin(kn,jn)+max(kn,jn)=p1k1+j1p2k2+j2pnkn+jn=p1k1p1k2pnknp1j1p1j2pnjn=ab

6.3. 欧几里得算法

一种非常常见的求最大公约数的算法:

gcd ⁡ ( a , b ) = gcd ⁡ ( b , a   m o d   b ) \gcd(a,b)=\gcd(b,a\bmod b) gcd(a,b)=gcd(b,amodb)

代码形式:

#include<cstdio>
int gcd(int a,int b){
	return !b?a:gcd(b,a%b);
}
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	printf("%d",gcd(n,m));
	return 0;
}
//非常简单,应该不用注释了吧

证明一下:

设 gcd ⁡ ( a , b ) = p ∴   a = k p , b = g p ( gcd ⁡ ( k , g ) = 1 ) ∴   a   m o d   b = ( k p )   m o d   ( g p ) = ( k   m o d   g ) p gcd ⁡ ( b , a   m o d   b ) = gcd ⁡ ( g p , ( k   m o d   g ) p ) = p = gcd ⁡ ( a , b ) \begin{aligned}&\text{设}\gcd(a,b)=p\\\therefore&\ a=kp,b=gp(\gcd(k,g)=1)\\\therefore&\ a\bmod b=(kp)\bmod(gp)=(k\bmod g)p\\&\begin{aligned}\gcd(b,a\bmod b)&=\gcd(gp,(k\bmod g)p)\\&=p\\&=\gcd(a,b)\end{aligned}\end{aligned} gcd(a,b)=p a=kp,b=gp(gcd(k,g)=1) amodb=(kp)mod(gp)=(kmodg)pgcd(b,amodb)=gcd(gp,(kmodg)p)=p=gcd(a,b)

7. 裴蜀定理

这是一个非常常见的定理,相当重要

7.1. 基本定理

对于不定方程 a x + b y = m ( a , b , x , y , m ∈ Z ) ax+by=m(a,b,x,y,m\in\mathbb{Z}) ax+by=m(a,b,x,y,mZ) ,其有解的充分必要条件为 gcd ⁡ ( a , b ) ∣ m \gcd(a,b)\mid m gcd(a,b)m

证明1(已知 a x + b y = m ax+by=m ax+by=m 有解):

∵   a x + b y = m 有解 ∴   ∃   x , y ∈ Z , 满足 a x + b y = m ∵   gcd ⁡ ( a , b ) ∣ a , gcd ⁡ ( a , b ) ∣ b ∴   gcd ⁡ ( a , b ) ∣ ( a x + b y ) ( 整除性质2 ) ∴   gcd ⁡ ( a , b ) ∣ m \begin{aligned}\because&\ ax+by=m\text{有解}\\\therefore&\ \exists\ x,y\in\mathbb{Z},\text{满足}ax+by=m\\\because&\ \gcd(a,b)\mid a,\gcd(a,b)\mid b\\\therefore&\ \gcd(a,b)\mid (ax+by)(\text{整除性质2})\\\therefore&\ \gcd(a,b)\mid m\end{aligned}  ax+by=m有解  x,yZ,满足ax+by=m gcd(a,b)a,gcd(a,b)b gcd(a,b)(ax+by)(整除性质2) gcd(a,b)m

证明2(已知 gcd ⁡ ( a , b ) ∣ m \gcd(a,b)\mid m gcd(a,b)m):

咕咕咕

OI 中常见的有关裴蜀定理的出题形式(?

对于 ∀ x , y ∈ Z \forall x,y\in\mathbb{Z} x,yZ ,函数 f ⁡ ( a , b ) = a x + b y \operatorname{f}(a,b)=ax+by f(a,b)=ax+by 的最小 Z + \mathbb{Z}^+ Z+ 的取值为 gcd ⁡ ( a , b ) \gcd(a,b) gcd(a,b)

证明:

设  m = a x + b y 由裴蜀定理得:  gcd ⁡ ( a , b ) k = m ( k ∈ Z + ) ∵   k  的最小值为  1 , gcd ⁡ ( a , b )  为定值 ∴   m  的最小值为  gcd ⁡ ( a , b ) \begin{aligned}&\text{设}\ m=ax+by\\&\text{由裴蜀定理得:}\ \gcd(a,b)k=m(k\in\mathbb{Z}^+)\\\because&\ k\ \text{的最小值为}\ 1,\gcd(a,b)\ \text{为定值}\\\therefore&\ m\ \text{的最小值为}\ \gcd(a,b)\end{aligned}  m=ax+by由裴蜀定理得: gcd(a,b)k=m(kZ+) k 的最小值为 1,gcd(a,b) 为定值 m 的最小值为 gcd(a,b)

7.2. 引理及推论

7.2.1. 引理1

上台社死后我发现,我换一个表述方式似乎就没什么大问题了QAQ

如果 a , b ∈ Z + , ( a , b ) = 1 a,b\in\mathbb{Z}^+,(a,b)=1 a,bZ+,(a,b)=1 ,则 ∄ \nexists 小于 b b b k ∈ Z + k\in\mathbb{Z}^+ kZ+ ,满足 b ∣ a k b\mid ak bak

证明:

假设存在小于  b  的  k ∈ Z , 满足 b ∣ a k ∴   a k  中包含  b  的全部质因子 ∵   ( a , b ) = 1 ∴   a  不可能包含 b  的任何质因子 ∴   k  中包含  b  的全部质因子 ∴   k = b x ( x ∈ Z + ) ∵   b > k ∴  矛盾,假设不成立 \begin{aligned}&\text{假设存在小于}\ b\ \text{的}\ k\in\mathbb{Z},\text{满足}b\mid ak\\\therefore&\ ak\ \text{中包含}\ b\ \text{的全部质因子}\\\because&\ (a,b)=1\\\therefore&\ a\ \text{不可能包含} b\ \text{的任何质因子}\\\therefore&\ k\ \text{中包含}\ b\ \text{的全部质因子}\\\therefore&\ k=bx(x\in\mathbb{Z}^+)\\\because&\ b>k\\\therefore&\ \text{矛盾,假设不成立}\end{aligned} 假设存在小于 b  kZ,满足bak ak 中包含 b 的全部质因子 (a,b)=1 a 不可能包含b 的任何质因子 k 中包含 b 的全部质因子 k=bx(xZ+) b>k 矛盾,假设不成立

7.2.2. 推论

如果 a , b ∈ Z + , ( a , b ) = 1 a,b\in\mathbb{Z}^+,(a,b)=1 a,bZ+,(a,b)=1 ,则 0 , a , 2 a , ⋯   , ( b − 1 ) a 0,a,2a,\cdots,(b-1)a 0,a,2a,,(b1)a 这些数模 b b b 的余数互不相同

证明:

假设  a i , a j  模  b  的余数相同  ( 1 < j < i < b )  ,即  a i   m o d   b = a j   m o d   b ∴   a i   m o d   b − a j   m o d   b = 0 ⟺ ( a i − a j )   m o d   b = 0 ⟺ a ( i − j )   m o d   b = 0 ∴   b ∣ a ( i − j ) ( i − j < b ) ∵   a , b ∈ Z + , ( a , b ) = 1 ∴   ∄  小于  b  的  k ∈ Z +  ,满足  b ∣ a k ∴  矛盾,假设不成立 \begin{aligned}&\text{假设}\ ai,aj\ \text{模}\ b\ \text{的余数相同}\ (1<j<i<b)\ \text{,即}\ ai\bmod b=aj\bmod b\\\therefore&\ ai\bmod b-aj\bmod b=0\Longleftrightarrow (ai-aj)\bmod b=0\Longleftrightarrow a(i-j)\bmod b=0\\\therefore&\ b\mid a(i-j)(i-j<b)\\\because&\ a,b\in\mathbb{Z}^+,(a,b)=1\\\therefore&\ \nexists\ \text{小于}\ b\ \text{的}\ k\in\mathbb{Z}^+\ \text{,满足}\ b\mid ak\\\therefore&\ \text{矛盾,假设不成立}\end{aligned} 假设 ai,aj  b 的余数相同 (1<j<i<b) , aimodb=ajmodb aimodbajmodb=0(aiaj)modb=0a(ij)modb=0 ba(ij)(ij<b) a,bZ+,(a,b)=1  小于 b  kZ+ ,满足 bak 矛盾,假设不成立

7.2.3. 引理2

如果 ( a , b ) = 1 (a,b)=1 (a,b)=1 ,则 ∃   k ∈ Z \exists\ k\in\mathbb{Z}  kZ ,满足 a k   m o d   b = 1 ak\bmod b=1 akmodb=1

由推论可以很容易的得到该结论

8. 扩展欧几里得

扩展欧几里得(简称扩欧),是一种算法,一般封装为函数,其函数名为 exgcd

可以在已知 a , b ∈ Z a,b\in\mathbb{Z} a,bZ 的情况下,求不定方程 a x + b y = gcd ⁡ ( a , b ) ax+by=\gcd(a,b) ax+by=gcd(a,b) 的一组整数解,通常情况下用扩欧求得的解满足 x y < 0 xy<0 xy<0

证明:

设  a x 1 + b y 1 = gcd ⁡ ( a , b ) , b x 2 + ( a   m o d   b ) y 2 = gcd ⁡ ( b , a   m o d   b ) 由欧几里得算法得  gcd ⁡ ( a , b ) = gcd ⁡ ( b , a   m o d   b ) ∴   a x 1 + b y 1 = b x 2 + ( a   m o d   b ) y 2 ∵   a   m o d   b = a − b ⌊ a b ⌋ a x 1 + b y 1 = b x 2 + ( a   m o d   b ) y 2 = b x 2 + ( a − b ⌊ a b ⌋ ) y 2 = b x 2 + a y 2 − b ⌊ a b ⌋ y 2 = a y 2 + b ( x 2 − b ⌊ a b ⌋ ) ∴   { x 1 = y 2 y 1 = x 2 − b ⌊ a b ⌋  是方程  a x 1 + b y 1 = gcd ⁡ ( a , b )  的一组解,且该组解由  ( x 2 , y 2 )  得来 当第  n  组方程关于  gcd ⁡ ( a , 0 )  时,有  a x n + b y n = a ∴   { x n = 1 y n = ∀   k ∈ Z  是方程  a x n + b y n = a  的一组解 ∴  可以由解  ( x n , y n )  得到解  ( x 1 , y 1 ) \begin{aligned}&\text{设}\ ax_1+by_1=\gcd(a,b),bx_2+(a\bmod b)y_2=\gcd(b,a\bmod b)\\&\text{由欧几里得算法得}\ \gcd(a,b)=\gcd(b,a\bmod b)\\\therefore&\ ax_1+by_1=bx_2+(a\bmod b)y_2\\\because&\ a\bmod b=a-b\left\lfloor\dfrac{a}{b}\right\rfloor\\&\begin{aligned}ax_1+by_1&=bx_2+(a\bmod b)y_2\\&=bx_2+(a-b\left\lfloor\dfrac{a}{b}\right\rfloor)y_2\\&=bx_2+ay_2-b\left\lfloor\dfrac{a}{b}\right\rfloor y_2\\&=ay_2+b(x_2-b\left\lfloor\dfrac{a}{b}\right\rfloor)\end{aligned}\\\therefore&\ \begin{cases}x_1=y_2\\y_1=x_2-b\left\lfloor\dfrac{a}{b}\right\rfloor\\\end{cases}\ \text{是方程}\ ax_1+by_1=\gcd(a,b)\ \text{的一组解,且该组解由}\ (x_2,y_2)\ \text{得来}\\&\text{当第}\ n\ \text{组方程关于}\ \gcd(a,0)\ \text{时,有}\ ax_n+by_n=a\\\therefore&\ \begin{cases}x_n=1\\y_n=\forall \ k\in\mathbb{Z}\end{cases}\ \text{是方程}\ ax_n+by_n=a\ \text{的一组解}\\\therefore&\ \text{可以由解}\ (x_n,y_n)\ \text{得到解}\ (x_1,y_1)\end{aligned}  ax1+by1=gcd(a,b),bx2+(amodb)y2=gcd(b,amodb)由欧几里得算法得 gcd(a,b)=gcd(b,amodb) ax1+by1=bx2+(amodb)y2 amodb=abbaax1+by1=bx2+(amodb)y2=bx2+(abba)y2=bx2+ay2bbay2=ay2+b(x2bba) {x1=y2y1=x2bba 是方程 ax1+by1=gcd(a,b) 的一组解,且该组解由 (x2,y2) 得来当第 n 组方程关于 gcd(a,0) 时,有 axn+byn=a {xn=1yn= kZ 是方程 axn+byn=a 的一组解 可以由解 (xn,yn) 得到解 (x1,y1)

我们拿这道题来举个例子

8.1. 小练习

我们来处理一下原方程:

a x ≡ 1 ( m o d b ) b y + 1 = a x ( y ∈ Z ) a x − b y = 1 \begin{aligned}ax&\equiv1\pmod{b}\\by+1&=ax(y\in\mathbb{Z})\\ax-by&=1\end{aligned} axby+1axby1(modb)=ax(yZ)=1

这样一来,直接套扩欧,再处理一下取值,基本上就没问题了

不 开 long long 见 祖 宗

#include<cstdio>
long long int a,b,c,x,y;
void exgcd(long long int a,long long int b){			//扩欧模板
	if(!b){
		x=1,y=0;
		return;
	}
	exgcd(b,a%b);
	long long int t=x;
	x=y;
	y=t-a/b*y;
}
int main(){
	scanf("%lld%lld",&a,&b);
	exgcd(a,b);
	if(x<0){			//处理结果,保证是最小的正整数
		x=x+(-x/b+1)*b;
	}else{
		x=x-x/b*b;
	}
	printf("%lld",x);			//输出
	return 0;
}
//水

9. 费马小定理

如果 p p p 为质数,且 a   m o d   p ≠ 0 a\bmod p\ne0 amodp=0 ,则 a p − 1   m o d   p = 1 a^{p-1}\bmod p=1 ap1modp=1

证明:

∵   a ( 2 a ) ( 3 a ) ⋯ [ ( p − 1 ) a ]   m o d   p = a p − 1 × ( p − 1 ) !   m o d   p 又  ∵   p  为质数,且  a   m o d   p ≠ 0 ∴  由裴蜀定理推论得:  a   m o d   p , ( 2 a )   m o d   p , ( 3 a )   m o d   p , ⋯   , [ ( p − 1 ) a ]   m o d   p  互不相等,且在区间  ( 0 , p )  内 ∴   a ( 2 a ) ( 3 a ) ⋯ [ ( p − 1 ) a ]   m o d   p = ( p − 1 ) !   m o d   p ∴   a p − 1 ( p − 1 ) ! ≡ ( p − 1 ) ! ( m o d p ) ∵   p  为质数 ∴   ( ( p − 1 ) ! , p ) = 1 ∴   a p − 1 ≡ 1 ( m o d p ) \begin{aligned}\because&\ a(2a)(3a)\cdots[(p-1)a]\bmod p=a^{p-1}\times(p-1)!\bmod p\\\text{又}\ \because&\ p\ \text{为质数,且}\ a\bmod p\ne0\\\therefore&\ \text{由裴蜀定理推论得:}\ a\bmod p,(2a)\bmod p,(3a)\bmod p,\cdots,[(p-1)a]\bmod p\ \text{互不相等,且在区间}\ (0,p)\ \text{内}\\\therefore&\ a(2a)(3a)\cdots[(p-1)a]\bmod p=(p-1)!\bmod p\\\therefore&\ a^{p-1}(p-1)!\equiv(p-1)!\pmod{p}\\\because&\ p\ \text{为质数}\\\therefore&\ ((p-1)!,p)=1\\\therefore&\ a^{p-1}\equiv1\pmod{p}\end{aligned}   a(2a)(3a)[(p1)a]modp=ap1×(p1)!modp p 为质数,且 amodp=0 由裴蜀定理推论得: amodp,(2a)modp,(3a)modp,,[(p1)a]modp 互不相等,且在区间 (0,p)  a(2a)(3a)[(p1)a]modp=(p1)!modp ap1(p1)!(p1)!(modp) p 为质数 ((p1)!,p)=1 ap11(modp)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值