表格法轻松理解扩展欧几里得算法以及利用其求乘法逆元

扩展欧几里得算法

具体算法的原理参见扩展欧几里得算法求乘法逆元,本文仅以表格的形式展现计算过程,浅显易懂。下面通过例子进行说明。

例:求1234和4321的最大公约数,并将其表示为整系数的线性组合。

解: 根据定理内容列出以下表格,其中i为计算次数,ri 为原数及余数 ,qi 为商,xi yi 为新加的数,表格内数字的来历将在下面说明。

iriqixiyi
-1432110
0123401
161931-3
26151-14
3412-7
43153-3071075
511309-1082
603

由表格可知,gcd(1234,4321)=1,且整系数线性组合为4321×309+1234×(-1082)=1

以下对表格数字来历进行说明:
i的前两个数固定为 -10xi 以及 yi 的前两个数分别固定为1001ri 的前两个数字为已知两数按大小排列,其余各数的计算过程以前三行数字为例:
紫色的619和粉色的3分别是橙色的4321与1234相除的余数和商,i==1行蓝色的1是由(红色的1)-(粉色的0粉色的3)得出来的,即1=1 - 3 * 0,同理i==1行蓝色的-3=(黄色的0)-(粉色的3粉色的1)得出来的,即-3=0 - 3 * 1,下面几行数字同理,以下一行为例,615和1分别为1234除以619的余数和商,-1=0 - 1 * 14=1 - 1 * -3,直到算到ri为0为止(本步不计入),此时的xi与yi即为所求系数,即4321×309+1234×(-1082)=1,ri为最大公约数,即gcd(1234,4321)=1

求乘法逆元

通过上述扩展欧几里得算法,可以得到1234mod4321的乘法逆元为最后一步的yi,即 -1082,将负数调整为正数即 -1028+4321=3239,故1234*3239≡1(mod 4321),同理,4321mod1234的乘法逆元为最后一步的xi,即4321*309≡1(mod 1234)

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值