扩展欧几里得算法
hesorchen
这个作者很懒,什么都没留下…
展开
-
扩展欧几里得算法求逆元
扩展欧几里得算法应该是最优的求逆元算法之一,他和费马小定理具有同样的时间复杂度O(log(n))O(log(n))O(log(n)),但是费马小定理需要模数为质数,扩展欧几里得算法则不需要。逆元定义若aaa与ppp互素,则满足(a×x)modp=1(a\times x) mod p=1(a×x)modp=1的xxx为aaa的逆元。显然,有(k×p+1)modp=1(k\times p+1) mod p=1(k×p+1)modp=1(kkk为任意常数),又因为(a×x)modp=1(a\times x)原创 2020-07-03 20:57:52 · 14494 阅读 · 0 评论 -
扩展欧几里得算法
由于早上刚学,理解不是很深刻,此篇博客仅供自己加深记忆用作用比较直观的就是在方程组ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)中求解整数解x,yx,yx,y。另外通过一系列的变换等作用很大。代码实现递归法求x,yx,yx,y:当b为0时,显然特解为x=1,y=0x=1,y=0x=1,y=0,在朴素欧几里得的递归写法中,最后可能会递归到b=0b=0b=0,利用这一特点,我们在扩展欧几里得中递归到特解,然后回溯到a,ba,ba,b的解。ll gcd(ll a,原创 2020-07-02 13:05:43 · 5381 阅读 · 0 评论