欧几里得算法求解乘法逆元——Python

刚刚学习密码,老师让使用欧几里得算法来求解一下乘法逆元,因此,就顺道学习了一下。

(1)欧几里得算法,大体就是递归求解两个数的最大公约数,在本程序中它的作用就是求a,b的最大公约数,若是最大公约数不为0则判断,a关于b,或者b关于a的逆元是不存在的,否则就可以继续进行下去,具体欧几里得算法可以看百度百科中介绍的很是详细;

欧几里得算法

(2)扩展的欧几里得算法,求得是 a*x + b*y = gcd 的通解 x 和 y,主要的是x = y1,y = x1 – a/b*y1,也是递归实现的,x,y的求解依赖于递归回的x1,y1的值,在本程序中,扩展的欧几里得算法就是来求线性方程的x与y的;

扩展欧几里得算法博文

(3)在欧几里得与扩展欧几里得算法的基础上,可以求解乘法的逆元,逆元的概念就是我理解的很简单,ax≡1 mod f,大体就是这个式子,最后求得的x就是a关于模f的逆元,这个式子可以转换为:ax + fy = 1,这样的话就可以使用扩展的欧几里得算法来求解x了,而要求f关于模a的逆元是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值