0801数论

GCD & exGCD

首先我们考虑辗转相除法的过程,因为 (a,b)=(bmoda,a)(0<a<b)(0,b)=b,所以我们就可以每次将 b 转化为严格更小的 b 的问题。归纳则得到答案。

现在我们考虑扩欧的过程,我们需要对 ax+by=1 找到一组解。那么我们实际上就是要对一个形如 (a,b) 的问题找到答案。

我们考虑对两边除以 a,就变成 x+bayr1=0(商方程)且 (bmoda)y+ar1=1r1 用于配平余数小于 a 的条件)而假如我们能找到 by+ar1=1 的解,也就可以表出 x=r1bay。而显然问题的规模和 gcd 一样,是严格变小的。直到问题变成 0rn+1+1rn=1,就能直接 rn=1

同时我们发现,如果 (a,b)1,则方程 ax+by=1 是无解的,这是显然的。因此引出贝祖定理:c=(a,b) 是方程 ax+by=c 有解的充要条件。

费马小定理

费马小定理:对素数 p,有 ap11(modp)(0<a<p)

考虑证明费马小定理。

引理:对素数 p0<a<p,如果有 abac(modp),则 bc(modp)

考虑移项,a(bc)0(modp),即 p|a(bc),那么我们只需要说明 p|(bc) 即可。

考虑证明 p|abp 为质数,0<a<p,则 p|b。如果证明了这个东西,就可以同时证明算术基本定理(唯一分解定理)。

于是我们考虑 p|k 等价于 (p,k)=p,而显然 (p,a)=1,(p,ab)=p。根据贝祖定理,如果 (p,b)ppx+by=p 是无解的。但是显然 y=a 时方程有解 x=pabp。存在矛盾。得 (p,b)=p,即 p|b

因此上面的内容迎刃而解。

考虑第一种证明,设 1p1 的所有数在集合 S 中,那么这个集合的乘积就是 (p1)!。现在我们给 S 中每个数乘上 a 形成集合 T。这里面的乘积是 (p1)!ap1。只要证明 S=T,则可以根据上面的引理得到费马小定理。

考虑若 axay(modp)xy(mod),所以 T 中数两两不同。但是其元素个数和可选元素个数是 p1,因此 1p1 每个数出现一次。得证。

考虑第二种证明。首先,我们从 a0 开始,一定存在某个 0<k<p,使得 ak1(modp)

因为我们一共只有 p1 个数可以选,所以根据抽屉原理,如果 [1,p1] 不出现 1,显然有 axay(modp)(0<x<y<p)。但是我们有 ax1axayx(modp),根据引理得到 ayx1(modp)。而显然 yx<p

但是我们只是证明了 p1 的范围内存在 ak1(modp),没有证明 p1 一定是这样的 k

我们考虑从 a0 开始,第一次出现 1 的位置是 ak。而每次乘 a 所得到的必然是一个长度为 k 的周期。从任意的 ax 开始,因为 ak 是第一个 1,所以必然都是长度为 k 的周期。而且每一个不同的周期没有交集。

那么我们发现,所有的 p1 个数被划分成了若干个长度为 k 的周期。所以 p1k 的倍数。

因此,p1=nk,则 ap1ank(1)n1(modp)

同学说这就是群论的拉格朗日定理,不太清楚。

posted @   jucason_xu  阅读(19)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示