数论学习笔记
数论学习笔记
写在前面:
笔者一向认为,证明是学习数学的重中之重。证明不仅是一个逆向的过程,它可以成为一种正向的灵感, 或者方法, 或者技能, 可以推导出新的结论。数学不是一门面向结论的学科, 恰恰相反他是面向
对象过程的。
然而, 笔者能力有限,不一定有精力给出所有证明, 所以:在一开始,我可能会仅限于结论, 或者只是感性的,不完全严谨的证明。因为这是一篇学习笔记, 证明会随着读者能力的提升不断完善,对算法的理解也会不断加深,而不急于一时。
毕竟, 暂时跳过是个不错的方法
但是, 在学习过程还是不能面向结论, 思想一定是学习的重点。
笔者过菜,本文仅写给自己复习用
2021.8.21
最大公因数、最小公倍数 GCD/LCM
gcd: 两个整数的最大公因子是能整除它们的最大整数
首先我们有:
gcd(0,n)=n
gcd(a,b)=gcd(b,a mod b)
证明
对a, b的每个因子d, d|a且d|b, 所以d|(a mod b) (这等价于a - floor(a/b)) 所以, 对于a,b的每个公因子,其必然也是b与a mod b 的公因子。故等式成立
然后我们有斐蜀定理,以及扩展欧几里得(这些放在另一篇博客了...)
ax+by=c 有解 ⇔ gcd(a,b)∣c
k∣m,k∣n⇔k∣gcd(m,n)
证明
首先, 任意 xm+yn 都可以被 k 整除, 而一定存在 xm+yn=gcd(m, n) 所以 k | gcd(m, n)
这时候一个重要的小定理就有了
∀d∣m,d∣n , d∣gcd(m,n)
之前我们只知道gcd是最大的公因子,现在我们还知道任意公因子都能整除gcd
素数 Primes
首先: 素数是所有正整数的基本构造元素, 这是素数如此重要的原因 (素数是不可再分裂的)
任何正整数都可以表示为若干素数的乘积
然后,我们有算术基本定理:
有且仅有一种方式,将n分解为素数的乘积
也就是说, 不会有两组不同的素数,他们乘积相同,显然:这不是显然的。
证明
我们先证个简单的, 不同的两个素数无法得到相同的乘积。 ab = cd (a,b,c,d 是素数) 所以:gcd(a, c) = 1; 所以存在pa+qc = 1, 此时,(pa+qc)d = d pad + qcd = d 显然: a|pad,a|qcd, 所以q|d, 显然不成立, 证毕
同样的思路, 归纳一下就可证明我们的算术基本定理,但这不是重点, 重点是证明的思路, 我们有两组素数,乘积相同, 我们从中选出两个, 由于它们互素, 有pa+qb = 1 由此我们可以构造出一组素数,它可以被另一组素数中的一个整除,从而反证 仔细想想看?
以后我们的证明思路就是这样了,先逆向,后正向。 然而正向难以表达, 需要读者仔细思考:这样做的原理是什么, 为什么要这样做, 怎么才能想到这样做, 什么时候应该想到这样做
形式化得来说:
容易发现, 两数相乘, 可以表示为对应素数的指数相加
k=mn⇔kp=mp+np
m∣n⇔mp≤np
然后就出现一个令我叹为观止的结论
k=gcd(m,n)⇔kp=min(mp,np)
k=lcm(m,n)⇔kp=max(mp,np)
这是因为:gcd是能整除它们的最大整数, 每一位素数也要能够整除它们, lcm也是同理
这时候,我们终于意识到素数有着多么美妙的性质了:它不可再分!能整除它的只有1和他自己
互素
我们记a⊥b 表示a与b互素, 也就是 gcd(a,b)=1, a和b,a, b没有公共的素因子
于是,我们有:
a/gcd(a,b)⊥b/gcd(a,b)
a⊥b⇔min(ap,bp)=0
a⊥b⇔apbp=0
进一步
k⊥a,k⊥b⇔k⊥ab
同余
记 a≡b(modm) 表示a关于模m与b同余
它有如下性质
a≡b⇒b≡a
a≡b≡c ⇒a≡c
a≡b,c≡d ⇒ a+c≡b+d
a≡b,c≡d ⇒ ac≡bd
a≡b ⇒ an≡bn
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 我在厂里搞 wine 的日子
· 如何通过向量化技术比较两段文本是否相似?
· 35+程序员的转型之路:经济寒冬中的希望与策略
· 推荐 5 款实用的 Docker 可视化管理工具,工作效率翻倍!
· 瞧瞧别人家的接口重试,那叫一个优雅!
· 哥们儿,别光顾着修 Bug,你的人生系统也该打个养老补丁了!
· 独立开发第二周:构建、执行、规划
· 【EF Core】框架是如何识别实体类的属性和主键的