基础数论重学笔记

之前都没有怎么理解,现在来复习一下。

费马小定理

对于任意质数 p 和任意整数 a 满足 gcd(a,p)=1,有 ap11(modp)

引理 1

对于任意三个正整数 a,b,c 满足 gcd(c,m)=1,若 acbc(modm),则 ab(modm)

变成 c(ab)0(modm) 之后,因为互质所以可以扔掉 m

引理 2

{a1,,am} 是模 m 的完全剩余系,存在整数 b 满足 gcd(b,m),那么 {a1×b,,am×b} 也是模 m 的完全剩余系。

反证法。如果存在 ai×baj×b(modm),根据引理 1 可得 aiaj(modm),与 a 是完全剩余系矛盾。

证明

构造模 p 的完全剩余系 {0,1,2,,p1}

根据引理 2 可得 {0,a,2a,,(p1)a} 也是模 p 的完全剩余系。

一一对应可得 1×2××(p1)a×2a××(p1)a(modp)

(p1)!(p1)!×ap1(modp)

显然 gcd(p,(p1)!)=1,根据引理 1 即可证毕。

欧拉定理

aφ(n)1(modn),其中 gcd(a,n)=1

费马小定理是 n 为质数的一种特殊情况。

首先两个与 n 互质的数的乘积仍然与 n 互质。

所以证明把费马小定理里面的完全剩余系换成与 n 互质的剩余系即可。

乘法逆元

乘法逆元,是指数学领域群 G 中任意一个元素 a,都在 G 中有唯一的逆元 a,具有性质 a×a=a×a=e,其中 e 为该群的单位元。
单位元是集合里的一种特别的元,与该集合里的运算有关。当它和其他元素结合时,并不会改变那些元素。

所以在模域下的乘法中,单位元就是 1

在求 yx 时我们可以先求出 1x 再乘上 y

具体地,若 a×b1(modp),则称 ba 在模 p 意义下的乘法逆元,记作 a1,即 b1a(modp)

可以写成 a×b+p×q=1 的形式,根据裴蜀定理只有 ap 互质才有解,也就是乘法逆元存在的条件。

费马小定理

只能解决 p 是质数的情况。

a×b1(modp)

a×bap1(modp)

bap2(modp)

欧拉定理

需要事先求出 φ(a)

a×b1(modp)

a×baφ(a)(modp)

baφ(a)1(modp)

把两个定理分开写了一堆废话……

拓展欧几里得算法

a×b1(modp)

a×b+p×q1

b 取最小正整数解。

阶乘

在求组合数时我们常常会用到阶乘的逆元。

先用上面的方法求出 n! 的逆元,然后考虑递推,从 i 推到 i1

1(i1)!1i!×i(modp)

再深入思考一下你会发现 1i!×(i1)!=1i(modp)

这样就做到了线性求 1n 的逆元。

如果要线性求一堆数的逆元,可以将 i 替换成 ai

威尔逊定理

p 为质数当且仅当 (p1)!1(modp)

必要性

两边同除以 p1 得到 (p2)!1(modp)

考虑逆元为其本身的数,可以解得只有 1p1

所以 2p2 的逆元组成的集合同样为 2p2,并且可以两两划分为乘积为 1 的组。

充分性

如果 p 不为素数,那么可以将 p 表示成 a×b(1<a,b<p)

那么 (p1)! 一定存在因子 p,所以 (p1)!0(modp)

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