【拓欧+逆元】

个人整理的关于拓欧逆元的不会markdown只会乱七八糟复制粘贴一般人看不懂系列 

欧几里德: gcd(a, b) = gcd(b , a%b) 

扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) =c(解一定存在,根据数论中的相关定理)

之前一直不太懂为什么gcd(a,b)|c是有解条件,大佬口胡了一句就懂了。

所以我们拓欧求逆元的时候ax+by=1,有个条件gcd(a,b)=1,b就是mod。

只要我们找到一组特殊的解 x0 和 y0 那么,我们就可以用 x0 和 y0 表示出整个不定方程的通解:

        x = x0 + (b/gcd)*t

        y = y0 – (a/gcd)*t

下面的证明我觉得特别好,感动




对于正整数,如果有,那么把这个同余方程中的最小正整数解叫做的逆元。


费马小定理(Fermat's little theorem)数论中的一个重要定理,在1636年提出,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a(p-1)≡1(mod p),即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。

逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为

 

推导过程如下

                            

还有一个欧拉定理求逆元没用过




上面的算法都有要求gcd(a,m)=1,还有一个通用的东西来着还没学。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值