数论:费马小定理 & 欧拉定理及其证明

费马小定理 & 欧拉定理及其证明

注:此文所提到的“整数”“素数”等均指正数


费马小定理

对于一个素数 p p p,任意整数 a a a,若 gcd ⁡ ( a , p ) = 1 \gcd(a, p) = 1 gcd(a,p)=1(即 a a a p p p互质),则:
a p − 1 ≡ 1 ( m o d p ) a^{p-1} \equiv 1 \pmod{p} ap11(modp)

证明

先找出所有小于等于 p p p 的与 p p p 互质的正整数,
为序列 A = { 1 , 2 , 3 , … , p − 1 } A = \{1,2,3,\dots,p-1\} A={1,2,3,,p1},则: gcd ⁡ ( A i , p ) = 1 \gcd(A_i,p)=1 gcd(Ai,p)=1
又因为 gcd ⁡ ( a , p ) = 1 \gcd(a,p)=1 gcd(a,p)=1,所以: gcd ⁡ ( a ∗ A i , p ) = 1 \gcd(a * A_i,p)=1 gcd(aAi,p)=1

对于上式的证明如下:
假设 A i ∗ a A_i * a Aia p p p 不互质,那么请思考 gcd ⁡ ( A i ∗ a , p ) \gcd(A_i * a,p) gcd(Aia,p) 等于什么,答案是 p p p
因为由于 p p p 为质数,它的正因子只有 1 1 1 p p p,而 gcd ⁡ ( A i ∗ a , p ) ≠ 1 \gcd(A_i * a,p) \neq 1 gcd(Aia,p)=1,即它们的最大公因数不是 1 1 1,那就只能是 p p p 了。
则: p ∣ a A i p|aA_i paAi(若 p p p a ∗ A i a*A_i aAi 的最大公因数是 p p p,那 a ∗ A i a*A_i aAi 就能被 p p p 整除),
那么 p ∣ a p|a pa p ∣ A i p|A_i pAi 中至少成立一个。
假设 p ∣ a p|a pa 成立,那么 gcd ⁡ ( a , p ) = p \gcd(a,p)=p gcd(a,p)=p,与大条件不符;
假设 p ∣ A i p|A_i pAi 成立,那么 gcd ⁡ ( A i , p ) = p \gcd(A_i,p)=p gcd(Ai,p)=p,也与大条件不符。
所以: gcd ⁡ ( a ∗ A i , p ) = 1 \gcd(a * A_i,p)=1 gcd(aAi,p)=1

(注:这个证明会在之后用到。)

下来先看两个例子,方便理解下来的证明:

例一:当 p = 5 , a = 2 p=5,a=2 p=5,a=2时, A = { 1 , 2 , 3 , 4 } A=\{1,2,3,4\} A={1,2,3,4}
          \space\space\space\space\space\space\space\space\space           a ∗ A = { 2 , 4 , 6 , 8 } , a ∗ A % p = { 2 , 4 , 1 , 3 } a*A=\{2,4,6,8\},a*A \% p =\{2,4,1,3\} aA={2,4,6,8},aA%p={2,4,1,3}
例二:当 p = 7 , a = 4 p=7,a=4 p=7,a=4时, A = { 1 , 2 , 3 , 4 , 5 , 6 } A=\{1,2,3,4,5,6\} A={1,2,3,4,5,6}
          \space\space\space\space\space\space\space\space\space           a ∗ A = { 4 , 8 , 12 , 16 , 20 , 24 } , a ∗ A % p = { 4 , 1 , 5 , 2 , 6 , 3 } a* A=\{4,8,12,16,20,24\},a*A \% p =\{4,1,5,2,6,3\} aA={4,8,12,16,20,24},aA%p={4,1,5,2,6,3}

我们发现 a ∗ A % p a*A \% p aA%p 貌似与 A A A 存在某种一一映射的关系,即在 A A A 中的每一个数都可在 a ∗ A % p a*A \% p aA%p 找到( a ∗ A % p a*A \% p aA%p 就是给序列 A A A 中的每一个数乘上 a a a 再取模 p p p,这里就相当于简写了)。

那么我们就假设(等会会证明):在 A A A 中的每一个数都可在 a ∗ A % p a* A \%p aA%p 找到,
即: a ∗ A % p a*A \% p aA%p 中的数也是为 { 1 , 2 , 3 , … , p − 1 } \{1,2,3,\dots,p-1\} {1,2,3,,p1}

通过这个假设,我们可以得到:

A 1 A 2 … A p − 1 = ( a A 1 % p ) ( a A 2 % p ) … ( a A p − 1 % p ) A_1A_2\dots A_{p-1}=(aA_1\%p)(aA_2\%p)\dots (aA_{p-1}\%p) A1A2Ap1=(aA1%p)(aA2%p)(aAp1%p)

给两边再同时取余 p p p

A 1 A 2 … A p − 1 % p = ( a A 1 % p ) ( a A 2 % p ) … ( a A p − 1 % p ) % p A_1A_2\dots A_{p-1}\%p=(aA_1\%p)(aA_2\%p)\dots (aA_{p-1}\%p)\%p A1A2Ap1%p=(aA1%p)(aA2%p)(aAp1%p)%p

后者又等于 ( a A 1 ) ( a A 2 ) … ( a A p − 1 ) % p (aA_1)(aA_2)\dots (aA_{p-1})\%p (aA1)(aA2)(aAp1)%p,就可得:

A 1 A 2 … A p − 1 % p = ( a A 1 ) ( a A 2 ) … ( a A p − 1 ) % p A_1A_2\dots A_{p-1}\%p=(aA_1)(aA_2)\dots (aA_{p-1})\%p A1A2Ap1%p=(aA1)(aA2)(aAp1)%p

即:

∏ i = 1 p − 1 A i ≡ ∏ i = 1 p − 1 ( A i ∗ a ) ( m o d p ) \prod_{i=1}^{p-1}A_i \equiv \prod_{i=1}^{p-1}(A_i*a) \pmod{p} i=1p1Aii=1p1(Aia)(modp)

那么:由于 A = { 1 , 2 , … , p − 1 } A=\{1,2,\dots,p-1\} A={1,2,,p1}
          \space\space\space\space\space\space\space\space\space           ∏ i = 1 p − 1 A i \prod_{i=1}^{p-1}A_i i=1p1Ai 就等于 ( p − 1 ) ! (p-1)! (p1)! ∏ i = 1 p − 1 ( A i ∗ a ) \prod_{i=1}^{p-1}(A_i*a) i=1p1(Aia) 就等于 a p − 1 ∗ ( p − 1 ) ! a^{p-1}*(p-1)! ap1(p1)!
          \space\space\space\space\space\space\space\space\space          (这里的 “ ! ! !” 表示阶乘,不是表感叹语气)

整个式子就可以表示为:

a p − 1 ∗ ( p − 1 ) ! ≡ ( p − 1 ) ! ( m o d p ) a^{p-1}*(p-1)! \equiv (p-1)! \pmod{p} ap1(p1)!(p1)!(modp)

两边同时约掉 ( p − 1 ) ! (p-1)! (p1)!得:

a p − 1 ≡ 1 ( m o d p ) a^{p-1} \equiv 1 \pmod{p} ap11(modp)

那个假设的证明

现在来证明那个假设

A A A 中的每一个数都可在 a ∗ A % p a*A \% p aA%p 找到,即 a ∗ A % p a*A \% p aA%p 中的数也为 { 1 , 2 , 3 , … , p − 1 } \{1,2,3,\dots,p-1\} {1,2,3,,p1}

证明这个假设需要两点:

  1. a ∗ A % p a*A \% p aA%p 中,每个数的范围为 [ 1 , p − 1 ] [1,p-1] [1,p1]
  2. a ∗ A % p a*A \% p aA%p 中不存在重复的数。

第一点:
打眼一看 a ∗ A i % p a*A_i \% p aAi%p 的范围应该为 [ 0 , p − 1 ] [0,p-1] [0,p1],因为它取余 p p p 了嘛,
但有因为 gcd ⁡ ( a ∗ A i , p ) = 1 \gcd(a*A_i,p)=1 gcd(aAi,p)=1,即 a ∗ A i a*A_i aAi p p p 互质, a ∗ A i a*A_i aAi 不能被 p p p 整除,
所以 a ∗ A i % p a*A_i \% p aAi%p 更准确的范围应该是 [ 1 , p − 1 ] [1,p-1] [1,p1]

第二点:
我们用反证法:
假设 a ∗ A % p a*A \% p aA%p 中存在两个相同的数,设为 a ∗ A i % p = a ∗ A j % p a*A_i \% p = a*A_j \% p aAi%p=aAj%p
那么: A i = A j A_i=A_j Ai=Aj
又因为 A A A 中的数是已知两两不同的,所以这个假设不成立。

所以综上所述:"在 A A A 中的每一个数都可在 a ∗ A % p a*A \% p aA%p 找到,即 a ∗ A % p a*A \% p aA%p 中的数也为 { 1 , 2 , 3 , … , p − 1 } \{1,2,3,\dots,p-1\} {1,2,3,,p1}"的假设成立。

欧拉定理

对于任意两个整数 a a a m m m,若 gcd ⁡ ( a , m ) = 1 \gcd(a,m)=1 gcd(a,m)=1(即 a a a m m m 互质),则:

a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)} \equiv 1 \pmod{m} aφ(m)1(modm)

注: φ ( m ) \varphi(m) φ(m) 是欧拉函数,表示小于等于 m m m 的与 m m m 互质的个数。

证明

欧拉定理看起来似乎和费马小定理很像,实际上费马小定理就是欧拉定理的一个特殊情况,即: m m m 为素数,此时 φ ( m ) = m − 1 \varphi(m)=m-1 φ(m)=m1
因为任意一个素数都与【小于自身的任意一个整数】互质,且与【自身】不互质。

证明也与费马小定理的过程大同小异,再次笔者不过多赘述。
感兴趣的可自行证明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值