数论第二波,欧几里得,欧拉费马,二次探测,威尔逊


持续更新中……

前言

数论中所有的数通常都是正整数,在出现的字母在未经说明的情况下为正整数

同余
  • 定义:两个数除以同一个整数,若余数相同,则这两个整数同余
  • 符号: a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm),读作“ a a a b b b关于 m m m同余”

它们具有以下性质:
1、自反性 a ≡ a ( m o d m ) a\equiv a\pmod{m} aa(modm)
2、对称性 a ≡ b ( m o d m ) ⇒ b ≡ a ( m o d m ) a\equiv b\pmod{m} \Rightarrow b\equiv a\pmod{m} ab(modm)ba(modm)
3、传递性 a ≡ b ( m o d m ) , b ≡ c ( m o d m ) ⇒ a ≡ c ( m o d m ) a\equiv b\pmod{m}, b\equiv c\pmod{m} \Rightarrow a\equiv c\pmod{m} ab(modm)bc(modm)ac(modm)
a ≡ b ( m o d m ) a\equiv b\pmod{m} ab(modm)等同于 m ∣ ( a − b ) m|(a-b) m(ab)
说明 a ≡ b ( m o d m ) , n ∣ m a\equiv b\pmod{m},n|m ab(modm)nm,∴ a ≡ b ( m o d n ) a\equiv b\pmod{n} ab(modn)

  • a ≡ b ( m o d m ) , c ≡ d ( m o d m ) ⇒ a ± c ≡ b ± d ( m o d m ) a\equiv b\pmod{m},c\equiv d\pmod{m}\Rightarrow a\pm c\equiv b\pm d\pmod{m} ab(modm)cd(modm)a±cb±d(modm)
    证明: m ∣ ( a − b ) , m ∣ ( c − d ) ⇒ m ∣ [ ( a − b ) ± ( c − d ) ] m|(a-b),m|(c-d)\Rightarrow m|[(a-b)\pm(c-d)] m(ab)m(cd)m[(ab)±(cd)]
    应用:同余式任意一边可以加减模数的任意整数倍

  • a ≡ b ( m o d m ) , c ≡ d ( m o d m ) ⇒ a c ≡ b d ( m o d m ) a\equiv b\pmod{m},c\equiv d\pmod{m}\Rightarrow ac\equiv bd\pmod{m} ab(modm)cd(modm)acbd(modm)

证明: m ∣ ( a − b ) , m ∣ ( c − d ) ⇒ m ∣ [ c ( a − b ) ± b ( c − d ) ] ⇒ m ∣ ( a c − b d ) m|(a-b),m|(c-d)\Rightarrow m|[c(a-b)\pm b(c-d)]\Rightarrow m|(ac-bd) m(ab)m(cd)m[c(ab)±b(cd)]m(acbd)

  • a ≡ b ( m o d m ) ⇔ k a ≡ k b ( m o d k m ) a\equiv b\pmod{m}\Leftrightarrow ka\equiv kb\pmod{km} ab(modm)kakb(modkm)
    证明: m ∣ ( a − b ) ⇔ k m ∣ k ( a − b ) ⇔ k m ∣ ( k a − k b ) m|(a-b)\Leftrightarrow km|k(a-b)\Leftrightarrow km|(ka-kb) m(ab)kmk(ab)km(kakb)

  • a c ≡ b c ( m o d m ) ⇔ a ≡ b ( m o d m ( c , m ) ) ac\equiv bc\pmod{m}\Leftrightarrow a\equiv b\pmod{\frac{m}{(c,m)}} acbc(modm)ab(mod(c,m)m)
    证明: m ∣ ( a c − b c ) ⇔ m ∣ c ( a − b ) m|(ac-bc)\Leftrightarrow m|c(a-b) m(acbc)mc(ab)
    g c d ( m , c ) = 1 gcd(m,c)=1 gcd(m,c)=1,即 m ∣ ( a − b ) m|(a-b) m(ab)
    g c d ( m , c ) ≠ 1 gcd(m,c)\ne 1 gcd(m,c)=1,即 m ( m , c ) ∣ c ( c , m ) ( a − b ) \frac{m}{(m,c)}|\frac{c}{(c,m)}(a-b) (m,c)m(c,m)c(ab),所以 m ( c , m ) ∣ ( a − b ) \frac{m}{(c,m)}|(a-b) (c,m)m(ab)
    所以 a ≡ b ( m o d m ( c , m ) ) a\equiv b\pmod{\frac{m}{(c,m)}} ab(mod(c,m)m)

辗转相除法(欧几里得算法)
  • 定理: ( a , b ) = ( r , b ) (a,b)=(r,b) (a,b)=(r,b)其中 a ≡ r ( m o d b ) a\equiv r \pmod {b} ar(modb)
    证明:不妨设 c = ( a , b ) c=(a,b) c=(a,b) a = n c , b = m c , ( n , m ) = 1 , a = k b + r a=nc,b=mc,(n,m)=1,a=kb+r a=ncb=mc(n,m)=1a=kb+r
    所以 a = n c = k b + r = k n c + r ⇒ r = ( m − k n ) c a=nc=kb+r=knc+r\Rightarrow r=(m-kn)c a=nc=kb+r=knc+rr=(mkn)c
    所以只需证 ( m − k n , n ) = 1 (m-kn,n)=1 (mkn,n)=1
    反证法,假设 m − k n = x d , n = y d m-kn=xd,n=yd mkn=xdn=yd,其中 d > 1 d>1 d>1
    那么 m = x d + k n = x d + k y d = ( x + k y ) d m=xd+kn=xd+kyd=(x+ky)d m=xd+kn=xd+kyd=(x+ky)d
    而此时 d ∣ ( m , n ) d|(m,n) d(m,n),与假设矛盾,所以原命题成立

代码

int gcd(int a, int b){
	if( !b )
		return a;
	return gcd(b, a%b); 
}

附上 l c m lcm lcm的代码

int gcd(int a, int b){
	if( !b )
		return a;
	return gcd(b, a%b); 
}

int lcm(int a, int b){
	return a*b/gcd(a,b);
}
剩余系与剩余类

定义模m同余的所有整数构成一个剩余类。将整数划分为m个剩余类,同一个类中所有的数模m同余,来自不同剩余类的数模m不同余。
例如模3意义下可分为以下3个剩余类:
1、 a ≡ 0 ( m o d 3 ) ⇒ { … , − 3 , 0 , 3 , 6 , … } a\equiv0\pmod{3}\Rightarrow \begin{Bmatrix}…,-3,0,3,6,…\end{Bmatrix} a0(mod3){3036}
2、 a ≡ 1 ( m o d 3 ) ⇒ { … , − 2 , 1 , 4 , 7 , … } a\equiv1\pmod{3}\Rightarrow \begin{Bmatrix}…,-2,1,4,7,…\end{Bmatrix} a1(mod3){2147}
3、 a ≡ 2 ( m o d 3 ) ⇒ { … , − 1 , 2 , 5 , 8 , … } a\equiv2\pmod{3}\Rightarrow \begin{Bmatrix}…,-1,2,5,8,…\end{Bmatrix} a2(mod3){1258}
记号 [ a ] [a] [a]表示 a a a所在的剩余类,例如 [ 0 ] = { … , − 3 , 0 , 3 , 6 , … } [0]= \begin{Bmatrix}…,-3,0,3,6,…\end{Bmatrix} [0]={3036}

对于集合 S S S S S S中所有数模 m m m的余数构成的集合称为 S S S在模 m m m意义下的剩余系。如果 S S S为全体整数,此剩余系称为完全剩余系
一般地,模m意义下的完全剩余系为 { 1 , 2 , 3 , 4 , … , m − 1 } \begin{Bmatrix}1,2,3,4,…,m-1\end{Bmatrix} {1234m1}
剩余系中与m互质的数的集合称为简化剩余系,或缩系

完全剩余系
  • 性质一:对于m个整数,其构成模m的完系等价于其关于模m两两不同余
  • 性质二:若 a i ( 1 ≤ i ≤ m ) a_{i}(1≤i≤m) ai(1im)构成模m的完系, k , t ∊ Z , ( k , m ) = 1 , 0 ≤ t ≤ m − 1 k,t∊Z,(k,m)=1,0 \leq t\leq m-1 k,tZ(k,m)=10tm1,因为
    t ( m o d m ) t\pmod{m} t(modm)的值总在1到m-1, k a i + t ka_{i}+t kai+t也构成模 m m m的完系
    证明: ∵ a i ≡ k a i ( m o d m ) ∵a_{i} \equiv ka_{i}\pmod{m} aikai(modm),所以只用考虑 t t t对完系的影响
    我们把完系写出来: { 0 , 1 , 2 , 3 , … , m − 1 } \begin{Bmatrix}0,1,2,3,…,m-1\end{Bmatrix} {0123m1}而加 t t t之后的完系就变成了 { t , 1 + t , 2 + t , 3 + t , … , m + t − 1 } \begin{Bmatrix}t,1+t,2+t,3+t,…,m+t-1\end{Bmatrix} {t1+t2+t3+tm+t1},我们可以观察发现新的完系中的后 t t t个元素是大于等于 m m m的,我们来观察这 t t t个数 { m − t , m − ( t − 1 ) , m − ( t − 2 ) , … m − 1 } \begin{Bmatrix}m-t,m-(t-1),m-(t-2),…m-1\end{Bmatrix} {mtm(t1),m(t2),m1}在观察一下他们加上 t t t之后的情况 { m , m + 1 , m + 2 , … m + t − 1 } \begin{Bmatrix}m,m+1,m+2,…m+t-1\end{Bmatrix} {mm+1,m+2,m+t1}在观察他们模 m m m的情况 { 0 , 1 , 2 , … , t − 1 } \begin{Bmatrix}0,1,2,…,t-1\end{Bmatrix} {01,2,,t1}
    我们在观察一下前m-t个小于t的数
    { t , t + 1 , t + 2 , … , t + ( m − t − 1 ) } \begin{Bmatrix}t,t+1,t+2,…,t+(m-t-1)\end{Bmatrix} {t,t+1,t+2,,t+(mt1)}
    = { t , t + 1 , t + 2 , … , m − 1 } =\begin{Bmatrix}t,t+1,t+2,…,m-1\end{Bmatrix} ={t,t+1,t+2,,m1}
    把两个集合合起来就变成:
    ⇒ { 0 , 1 , 2 , … , m − 1 } \Rightarrow\begin{Bmatrix}0,1,2,…,m-1\end{Bmatrix} {0,1,2,,m1}
    不就是原来的完系吗?
    所以原命题成立
简化剩余系(集约剩余系,缩系)
  • 剩余系中与 m m m互质的数的集合称为简化剩余系

  • 性质一: m m m为自然数 , k , t , ,k,t, kt为任意整数,且 ( k , m ) = 1 (k,m)=1 (k,m)=1,则当 x x x m m m的简化剩余系时 k x + t m kx+tm kx+tm亦属于模 m m m的简化剩余系
    证明:因为 ( x , m ) = 1 ,( k , m ) = 1 (x,m)=1,(k,m)=1 xm=1,(km=1,所以 ( k x + t m , m ) ⇒ ( k x , m ) = 1 (kx+tm,m)\Rightarrow (kx,m)=1 kx+tmmkxm=1

  • 性质二: m m m为自然数, s , t s,t st为正整数, ( k , m ) = 1 (k,m)=1 km=1,若 a i a_i ai组成m的简化剩余系,那么 k a i + t m ka_i+tm kai+tm也属于 m m m的简化剩余系
    不想写证明惹

欧拉函数

一个数n的简化剩余系的大小记为 φ ( n ) \varphi(n) φ(n)
如何求欧拉函数?
我们想: n / m ( n > m ) n/m(n>m) n/mn>m是否表示数 n n n以内有多少个数是 m m m的倍数,我们用容斥原理的思想, φ ( n ) \varphi(n) φ(n)就等于不知道 p p p表示的点这里之后选整数的标准分解
φ ( n ) = n − ∑ i = 1 w n p i + ∑ i = 1 w ∑ j = i + 1 w n p i p j − ∑ i = 1 w ∑ j = i + 1 w ∑ k = j + 1 w n p i p j p k … \varphi(n)=n-\begin{matrix} \sum_{i=1}^w \frac{n}{p_i} \end{matrix}+ \begin{matrix} \sum_{i=1}^w \sum_{j=i+1}^w \frac{n}{p_ip_j} \end{matrix}- \begin{matrix} \sum_{i=1}^w \sum_{j=i+1}^w \sum_{k=j+1}^w \frac{n}{p_ip_jp_k} \end{matrix}… φ(n)=ni=1wpin+i=1wj=i+1wpipjni=1wj=i+1wk=j+1wpipjpkn
分解因式后就等于
φ ( n ) = n ∗ ( 1 − 1 p 1 ) ∗ ( 1 − 1 p 2 ) ∗ ( 1 − 1 p 3 ) … ∗ ( 1 − 1 p w ) \varphi(n) = n*(1-\frac{1}{p_1})*(1-\frac{1}{p_2})*(1-\frac{1}{p_3})…*(1-\frac{1}{p_w}) φ(n)=n(1p11)(1p21)(1p31)(1pw1)
代码:

int phi(int x){
	int sum = x;
    for(int i = 2; x != 1; i ++){
        if( x % i == 0 ){
            sum = sum/i*(i-1);
            while( x%i == 0 )
                x /= i;
        }
    }
    return sum;
}

或者我们从 另一个方面来理解
φ ( n ) = n ∗ ( 1 − 1 p 1 ) ∗ ( 1 − 1 p 2 ) ∗ ( 1 − 1 p 3 ) … ∗ ( 1 − 1 p w ) \varphi(n) = n*(1-\frac{1}{p_1})*(1-\frac{1}{p_2})*(1-\frac{1}{p_3})…*(1-\frac{1}{p_w}) φ(n)=n(1p11)(1p21)(1p31)(1pw1)
因为 p i p_i pi一定整除 n n n(不知道的往上翻)
1 p 1 \frac{1}{p_1} p11表示在小于 n n n的数中质因子有 p 1 p_1 p1的数占总数的比,而 1 − 1 p 1 1-\frac{1}{p_1} 1p11表示在小于 n n n的数中质因子没有 p 1 p_1 p1(即有可能与n互质)的数占总数的比,在乘上质因子中没有 p i ( 1 < i ≤ w ) p_i(1<i\leq w) pi(1<iw)的比例,剩下的就是与 n n n互质的数的个数了(没有任何质因子因子与 n n n的质因子相同了)
φ ( n ) \varphi(n) φ(n)的性质:

  • 对于质数 n n n φ ( n ) = n − 1 \varphi(n)=n-1 φ(n)=n1
  • n > 2 n>2 n>2是, φ ( n ) \varphi(n) φ(n)为偶数
    证明:若 ( x , n ) = 1 (x,n)=1 (xn)=1,那么 ( n − x , n ) = 1 (n-x,n)=1 (nxn)=1,所以与n互质的数成对出现
  • 小于n且与n互质的数的总和为 φ ( n ) ∗ n / 2 \varphi(n)*n/2 φ(n)n/2
    证明:利用上一条,一共配成 φ ( n ) / 2 φ(n)/2 φ(n)/2对,每一对的和为 n n n
欧拉定理与费马小定理
欧拉定理

若正整数 n , a n,a n,a互质,那么 a φ ( n ) ≡ 1 ( m o d n ) a^{\varphi(n)}\equiv1\pmod n aφ(n)1(modn)
证明:
n n n的缩系为 b 1 , b 2 , b 3 … , b φ ( n ) b_1,b_2,b_3…,b_{\varphi(n)} b1,b2,b3bφ(n)
都乘以 a a a,那么 a b 1 , a b 2 , a b 3 , … , a b φ ( n ) ab_1,ab_2,ab_3,…,ab_{\varphi(n)} ab1,ab2,ab3,,abφ(n)亦构成 n n n的缩系(缩系性质二)
b 1 b 2 b 3 … b φ ( n ) ≡ a b 1 a b 2 a b 3 … a b φ ( n ) ≡ a φ ( n ) b 1 b 2 b 3 … b φ ( n ) ( m o d n ) b_1b_2b_3…b_{\varphi(n)}\equiv ab_1ab_2ab_3…ab_{\varphi(n)} \equiv a^{\varphi(n)}b_1b_2b_3…b_{\varphi(n)} \pmod n b1b2b3bφ(n)ab1ab2ab3abφ(n)aφ(n)b1b2b3bφ(n)(modn)
由于 n n n的缩系内所有数之积与 n n n是互质的,故约去 b 1 b 2 b 3 … b φ ( n ) b_1b_2b_3…b_{\varphi(n)} b1b2b3bφ(n)
所以 a φ ( n ) ≡ 1 ( m o d n ) a^{\varphi(n)} \equiv 1\pmod n aφ(n)1(modn)

费马小定理

p p p是素数, a , p a,p ap互质,有 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv1 \pmod p ap11(modp)
我们可以看到,因为p为素数,所以 φ ( p ) = p − 1 \varphi(p) = p-1 φ(p)=p1
原式就等于 a φ ( p ) ≡ 1 ( m o d p ) a^{\varphi(p)} \equiv 1 \pmod p aφ(p)1(modp)
因为 a , p a,p a,p互质,由于欧拉定理,所以原式成立
所以费马小定理是欧拉定理的一个特殊情况

二次探测定理

p p p是奇素数,在 p p p的缩系内解方程 x 2 ≡ 1 ( m o d p ) x^2\equiv1 \pmod p x21(modp)
x 2 − 1 ≡ ( x + 1 ) ( x − 1 ) ≡ 0 ( m o d p ) x^2-1 \equiv (x+1)(x-1) \equiv 0\pmod p x21(x+1)(x1)0(modp)
显然有 1 1 1 p − 1 p-1 p1两个解,下证它们是唯二解
假设还有一组解 x 0 x_0 x0满足 ( x 0 + 1 ) ( x 0 − 1 ) ≡ 0 ( m o d p ) (x_0+1)(x_0-1)\equiv 0 \pmod p (x0+1)(x01)0(modp)
p ∣ ( x 0 + 1 ) ( x 0 − 1 ) p|(x_0+1)(x_0-1) p(x0+1)(x01),因为 p p p是素数,所以 p ∣ ( x 0 + 1 ) p|(x_0+1) p(x0+1)或者 p ∣ ( x 0 − 1 ) p|(x_0-1) p(x01
可得 x 0 = k p − 1 x_0 = kp-1 x0=kp1,但另一个解就为 x 0 = k p + 1 x_0 = kp+1 x0=kp+1,所以在 p p p的缩系内只有, 1 1 1 p − 1 p-1 p1两个解

威尔逊定理

若p是素数,则 ( p − 1 ) ! ≡ − 1 ( m o d p ) (p-1)!\equiv-1\pmod p (p1)!1(modp)
证明:(充分性)

  • 先证明:对于 p p p的缩系内的任意整数 a a a,方程 a x ≡ 1 ( m o d p ) ax\equiv 1 \pmod p ax1(modp),在 p p p的缩系内有且仅有一个解,我们令这个命题为(*)
  • 存在性:由费马小定理可得 a p − 2 % p a^{p-2} \% p ap2%p是一个解
  • 唯一性:我们设存在两个不同的解 x 1 , x 2 x_1, x_2 x1,x2(均为 p p p的缩系中不同元素),则有 a x 1 ≡ 1 ( m o d p ) ax_1\equiv 1 \pmod p ax11(modp) a x 2 ≡ 1 ( m o d p ) ax_2\equiv 1 \pmod p ax21(modp),就有 a x 1 − a x 2 ≡ 0 ( m o d p ) ax_1-ax_2\equiv 0\pmod p ax1ax20(modp)
    ⇒ a ( x 1 − x 2 ) ≡ 0 ( m o d p ) ⇒ x 1 − x 2 ≡ 0 ( m o d p ) ⇒ x 1 ≡ x 2 ( m o d p ) \Rightarrow a(x_1-x_2) \equiv 0\pmod p \Rightarrow x_1-x_2\equiv0\pmod p\Rightarrow x_1\equiv x_2\pmod p a(x1x2)0(modp)x1x20(modp)x1x2(modp),所以与缩系中不同元素违背,故解唯一
  • 综上所述,命题(*)的解唯一

我们继续考虑方程 a x ≡ 1 ( m o d p ) ax\equiv 1\pmod p ax1(modp) a a a的取值,若 x = a x=a x=a,则有 a 2 ≡ 1 ( m o d p ) a^2 \equiv 1\pmod p a21(modp)
所以 ( a − 1 ) ( a + 1 ) ≡ 1 ( m o d p ) (a-1)(a+1)\equiv1\pmod p (a1)(a+1)1(modp),所以在 p p p的缩系中有且仅有 1 1 1 p − 1 p-1 p1两个解,
因此,我们可以把 2 2 2 p − 2 p-2 p2 p − 3 p-3 p3个数两两分组,使他们的乘积取模 p p p 1 1 1
所以 ( p − 2 ) (p-2) p2取模 p p p就可以表示为 ( p − 2 ) ! ≡ 1 ∗ 2 ∗ 3 ∗ ⋯ ∗ ( p − 2 ) ⏟ p − 3 2 组数 ≡ 1 ∗ 1 ∗ 1 ∗ ⋯ ∗ 1 ⏟ p − 3 2 组个一 ≡ 1 ( m o d p ) (p-2)!\equiv \begin{matrix} 1*\underbrace{ 2*3*\cdots*(p-2) } \\ \frac{p-3}{2}组数 \end{matrix} \equiv \begin{matrix} 1*\underbrace{ 1*1*\cdots*1 } \\ \frac{p-3}{2}组个一\end{matrix} \equiv1\pmod p (p2)!1 23(p2)2p3组数1 1112p3组个一1(modp)
所以 ( p − 1 ) ! ≡ p − 1 ( m o d p ) ⇒ ( p − 1 ) ! ≡ − 1 ( m o d p ) (p-1)!\equiv p-1 \pmod p \Rightarrow (p-1)! \equiv-1\pmod p (p1)!p1(modp)(p1)!1(modp)
所以证毕了?当然不可能,我们来继续探讨p不为素数的情况

  • 若p=4,显然有 ( 4 − 1 ) ! ≡ 2 ( m o d 4 ) (4-1)!\equiv2\pmod 4 (41)!2(mod4)
  • 若p>4,且p不为完全平方数,那么在p的缩系内就存在整数a,b,使得n=ab 因为在 1 , 2 , 3 … p − 1 中存在 a 和 b ,所以 a b ∣ ( p − 1 ) ! ⇒ ( p − 1 ) ! ≡ 0 ( m o d p ) 因为在1,2,3…p-1中存在a和b,所以ab|(p-1)!\Rightarrow (p-1)!\equiv 0\pmod p 因为在1,2,3p1中存在ab,所以ab(p1)!(p1)!0(modp)
  • 若p>4,且p为完全平方数,令k= n \sqrt{n} n ,所以2k ≤ n − 1 \leq n-1 n1
    因为在 1 , 2 , 3 … p − 1 中存在 k 和 2 k ,所以 2 p = 2 k 2 ∣ ( p − 1 ) ! ⇒ ( p − 1 ) ! ≡ 0 ( m o d p ) 因为在1,2,3…p-1中存在k和2k,所以2p=2k^2|(p-1)!\Rightarrow (p-1)!\equiv 0\pmod p 因为在1,2,3p1中存在k2k,所以2p=2k2(p1)!(p1)!0(modp)
  • 所以若p不为素数则有 ( p − 1 ) ! ≡ 0 ( m o d p ) (p-1)!\equiv 0\pmod p (p1)!0(modp)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值