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

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

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


费马小定理

对于一个素数 \(p\),任意整数 \(a\),若 \(\gcd(a, p) = 1\)(即\(a\),\(p\)互质),则:

\[a^{p-1} \equiv 1 \pmod{p} \]

证明

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

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

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

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

例一:当 \(p=5,a=2\)时,\(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\}\);
例二:当 \(p=7,a=4\)时,\(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 \% p\) 貌似与 \(A\) 存在某种一一映射的关系,即在 \(A\) 中的每一个数都可在 \(a*A \% p\) 找到(\(a*A \% p\) 就是给序列 \(A\) 中的每一个数乘上 \(a\) 再取模 \(p\),这里就相当于简写了)。

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

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

\[A_1A_2\dots A_{p-1}=(aA_1\%p)(aA_2\%p)\dots (aA_{p-1}\%p) \]

给两边再同时取余 \(p\):

\[A_1A_2\dots A_{p-1}\%p=(aA_1\%p)(aA_2\%p)\dots (aA_{p-1}\%p)\%p \]

后者又等于\((aA_1)(aA_2)\dots (aA_{p-1})\%p\),就可得:

\[A_1A_2\dots A_{p-1}\%p=(aA_1)(aA_2)\dots (aA_{p-1})\%p \]

即:

\[\prod_{i=1}^{p-1}A_i \equiv \prod_{i=1}^{p-1}(A_i*a) \pmod{p} \]

那么:由于 \(A=\{1,2,\dots,p-1\}\),
\(\space\space\space\space\space\space\space\space\space\) \(\prod_{i=1}^{p-1}A_i\) 就等于 \((p-1)!\),\(\prod_{i=1}^{p-1}(A_i*a)\) 就等于 \(a^{p-1}*(p-1)!\),
\(\space\space\space\space\space\space\space\space\space\)(这里的 "\(!\)" 表示阶乘,不是表感叹语气)

整个式子就可以表示为:

\[a^{p-1}*(p-1)! \equiv (p-1)! \pmod{p} \]

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

\[a^{p-1} \equiv 1 \pmod{p} \]

那个假设的证明

现在来证明那个假设:

在 \(A\) 中的每一个数都可在 \(a*A \% p\) 找到,即 \(a*A \% p\) 中的数也为 \(\{1,2,3,\dots,p-1\}\)。

证明这个假设需要两点:

  1. \(a*A \% p\) 中,每个数的范围为 \([1,p-1]\);
  2. \(a*A \% p\) 中不存在重复的数。

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

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

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

欧拉定理

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

\[a^{\varphi(m)} \equiv 1 \pmod{m} \]

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

证明

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

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

posted @ 2024-07-29 17:59  syzyc  阅读(203)  评论(0)    收藏  举报