欧拉定理学习笔记

费马小定理

\(a, p \in\mathbb{Z_+}\)\(p\) 为质数,\(\gcd(a,p) = 1\)

定理: \(a^{p-1}\equiv 1 \pmod p\)

证明:

考虑下面两个整数集合:

\[A=\{x \in \mathbb{Z_+}|1 \le x < p\} \]

\[B=\{y \in \mathbb{Z_+}|y=ax,x \in A\} \]

\(A\) 中很明显每个数对 \(p\) 取余各不相同,且为 \(1\)\(p-1\)

假设 \(B\) 中存在两个数 \(y_0=ax_0, y_1=ax_1\) 满足:

\[y_0 \equiv y_1 \pmod p \]

则会有:

\[ax_0 \equiv ax_1 \pmod p \]

\(\because \gcd(a,p)=1\),所以我们有:

\[x_0 \equiv x_1 \pmod p \]

但根据定义可知,\(x_0,x_1 \in A\),而 \(A\) 中不存在两个数对 \(p\) 取余相同。矛盾!

故假设不成立,\(B\) 中任意两个数对 \(p\) 取余不相同。

\(\because \gcd(a,p)=1\)\(\forall x \in A,\gcd(x,p)=1\)

\(\therefore\) \(B\) 中不存在 \(y\) 使得 \(y \equiv 0 \pmod p\)

不难发现,在模 \(p\) 意义下 \(A\)\(B\) 其实是等价的。

现在把 \(A\) 中的数和 \(B\) 中的数各自相乘,得到:

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

\(\because\) \((p-1)!\)\(p\) 互质。\(\therefore\) 可以把两边同时除以 \((p-1)!\) 得到:

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

得证。

欧拉定理

\(a, p \in\mathbb{Z_+}\)\(\gcd(a,p) = 1\)

定理: \(a^{\varphi(p)}\equiv 1 \pmod p\)

证明:

考虑下面两个整数集合:

\[A=\{x \in \mathbb{Z_+}|\gcd(a,p)=1,1 \le x < p\} \]

\[B=\{y \in \mathbb{Z_+}|y=ax,x \in A\} \]

根据欧拉函数的定义可知,\(|A|=|B|=\varphi(p)\)

\(A\) 中很明显每个数对 \(p\) 取余各不相同。

假设 \(B\) 中存在两个数 \(y_0=ax_0, y_1=ax_1\) 满足:

\[y_0 \equiv y_1 \pmod p \]

则会有:

\[ax_0 \equiv ax_1 \pmod p \]

\(\because \gcd(a,p)=1\),所以我们有:

\[x_0 \equiv x_1 \pmod p \]

但根据定义可知,\(x_0,x_1 \in A\),而 \(A\) 中不存在两个数对 \(p\) 取余相同。矛盾!

故假设不成立,\(B\) 中任意两个数对 \(p\) 取余不相同。

\(\because \gcd(a,p)=1\)\(\forall x \in A,\gcd(x,p)=1\)

\(\therefore\) \(B\) 中不存在 \(y\) 使得 \(y \equiv 0 \pmod p\)

不难发现,在模 \(p\) 意义下 \(A\)\(B\) 其实是等价的。

现在把 \(A\) 中的数和 \(B\) 中的数各自相乘,得到:

\[\prod_{x\in A}x\equiv a^{\varphi(p)}\prod_{x \in A} \pmod p \]

\(\because\) \(\prod_{x\in A}x\)\(p\) 互质。\(\therefore\) 可以把两边同时除以 \(\prod_{x\in A}x\) 得到:

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

得证。

扩展欧拉定理

根据欧拉定理,如果 \(\gcd(a,m)=1\),则 \(a^b \equiv a^{b \bmod \varphi(m)} \pmod m\)

而扩展欧拉定理则说,如果 \(\gcd(a,m) \not = 1\) 时,有:

\[a^b\equiv \begin{cases} a^b& b \le \varphi(m)\\ a^{b \bmod \varphi(m)+\varphi(m)} & b > \varphi(m) \end{cases} \pmod m \]

证明 oi-wiki 上有。

这样我们就能够快速计算 \(a^b \bmod m\) 这一类问题,只用 \(O(\log m)\) 的时间,而不是快速幂 \(O(\log b)\)

结论

结论1: 若最小的 \(x \le \varphi(n)\)\(a^x\equiv 1 \pmod p(\gcd(a,p)=1)\),则 \(x|\varphi(p)\)

证明:

反证法。

\(\varphi(n)=gx+r(1 \le r < x)\),则 \(a^{gx+r}\equiv 1 \pmod p\)

所以 \(a^{r} \equiv 1 \pmod p\),而 \(r < x\),与 \(x\) 最小性矛盾,所以结论成立。

练习

题目1: 给定 \(P,A \le 10^8\),求出 \(\frac{1}{P}\)\(A\) 进制小数下的循环节位数(如果是纯循环小数才求,否则输出 -1)(金老师原创)

思路:

设答案为 \(L\),我们会得到 \(A^L \equiv 1\pmod p\)

因为我们去模拟除法就会发现出现循环节意味着出现 \(1\)

首先,若 \(A,P\) 不互质就无解。

否则,输出最小的 \(L\) 满足 \(A^L \equiv 1 \pmod p\)。根据结论,\(L| \varphi(p)\),枚举即可。

题目2: 求证:\(n \ge 1\) 时,\(2^n \not\equiv 1 \pmod p\)。(《具体数学》第四章 题46)

证明:

考虑 \(n\) 的最小素因子。

不妨设 \(n=pq\),其中 \(p\)\(n\) 的最小素因子。

如果 \(p=2\),结论显然成立。

反证法,假设存在 \(n\) 使得 \(2^n \equiv 1 \pmod p\)

我们在模 \(p\) 的意义下看一下上式:\((2^p)^q \equiv 1 \pmod p\)

根据费马小定理,\(2^{p-1}\equiv 1 \pmod p\)

所以我们可以得到:\((2^p)^q\equiv 2^q \equiv 1 \pmod p\)

根据之前欧拉定理的结论,我们知道必然有 \(p-1|q\)

\(q|n\),所以 \(p-1|n\)

说明 \(p-1\) 是比 \(p\) 更小的 \(n\) 的因子,与 \(p\) 的最小性矛盾!

所以命题得证。

题目3: 给定 \(b, p, n\),求 \(1 \sim n\) 中有多少数 \(x\) 满足 \(x^{x!} \equiv b \pmod p\)\(b,p\le 10^8,n \le 10^{18}\)

思路:

如果 \(x < \varphi(p)\),我们可以直接枚举检验,复杂度 \(O(p)\)

否则,\(x^{x!}\equiv x^{x! \bmod \varphi(p)+\varphi(p)}\),又因为 \(x \le \varphi(p)\),所以 \(x! \bmod \varphi(p)=0\)

所以 \(x^{\varphi(p)} \equiv b \pmod p\),我们枚举 \(p\) 的完全剩余系看看 \(x\)\(p\) 余几时是可以的,然后计算一下 \(n\) 以内这样子的数的个数即可。

posted @ 2024-01-20 13:43  rlc202204  阅读(9)  评论(0编辑  收藏  举报