拓展欧几里得小结

前言

拓欧总是记不住,总是想不懂,希望写篇博客加深影响。

拓展欧几里得定理推论

求:

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=aab×b

所以原式为:

bx+(aab×b)×y=gcd(b,a%b)

拆开:

bx+a×yab×b×y=gcd(b,a%b)

合并同类项:

ay+b(xab×y)=gcd(b,a%b)

由于 gcd(a,b)=gcd(b,a%b),看回之前的式子 ax+by=gcd(a,b),所以我们可以写出等式:

ay+b(xab×y)=ax+by

然后我们可以写出 x,y 的其中一组解为 x=y,y=(xab×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 可以表示为:ax1(modp)

对于我们求出的其中一组的 ax+py=gcd(a,p),由于我们保证了 gcd(a,p)=1,所以 ax+py=1,移项得:

ax=1py

在模 p 意义下,ax1py 相同。而 pyp 的倍数,所以在模 p 意义下 ax=1,即:

ax1(modp)

此时 x 即为 a 在模 p 意义下的逆元

posted @   zhangtingxi  阅读(28)  评论(0编辑  收藏  举报
编辑推荐:
· 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框架的用法!
点击右上角即可分享
微信分享提示