前言
拓欧总是记不住,总是想不懂,希望写篇博客加深影响。
拓展欧几里得定理推论
求:
ax+by=gcd(a,b)
的其中一组整数解 x,y。
首先可以证明必有解(留坑)
按照欧几里得定理:gcd(a,b)=gcd(b,a%b)
k1x′+k2y′=gcd(b,a%b)
由于我们之前知道 ax+by=gcd(a,b),所以 bx′+(a%b)y′=gcd(b,a%b) 也应该必有解。
由于 a%b=a−⌊ab⌋×b
所以原式为:
bx′+(a−⌊ab⌋×b)×y′=gcd(b,a%b)
拆开:
bx′+a×y′−⌊ab⌋×b×y′=gcd(b,a%b)
合并同类项:
ay′+b(x′−⌊ab⌋×y′)=gcd(b,a%b)
由于 gcd(a,b)=gcd(b,a%b),看回之前的式子 ax+by=gcd(a,b),所以我们可以写出等式:
ay′+b(x′−⌊ab⌋×y′)=ax+by
然后我们可以写出 x,y 的其中一组解为 x=y′,y=(x′−⌊ab⌋×y′)
边界条件:如何 gcd(a,b) 中 b 为0,则 gcd(a,b)=a,然后我们构造一组整数解为:
a×1+b×0=a=gcd(a,b).
拓展欧几里得求逆元
前提:利用拓欧求逆元需满足 gcd(a,p)=1
我们知道,a 在模 p 意义下的逆元 x 可以表示为:ax≡1(modp)
对于我们求出的其中一组的 ax+py=gcd(a,p),由于我们保证了 gcd(a,p)=1,所以 ax+py=1,移项得:
ax=1−py
在模 p 意义下,ax 与 1−py 相同。而 py 为 p 的倍数,所以在模 p 意义下 ax=1,即:
ax≡1(modp)
此时 x 即为 a 在模 p 意义下的逆元
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!