标签:拓展 欧几里得 color div amp class style gcd 算法
void gcd(int a, int b, int &d, int &x, int &y) { if(!b) d = a, x = 1, y = 0; else gcd(b, a%b, d, y, x), y -= x * (a / b); }
假设 ax1+by1=gcd(a,b) (方程一) bx2+(a%b)y2=gcd(b,a%b)(方程二)
由欧几里得算法gcd(a,b)=gcd(b,a%b) 得到 ax1+by1=bx2+(a%b)y2
即ax1+by1=bx2+(a-a/b*b)y2 => ax1+by1=ay2+b(x2-a/b*y2)
最后可以得到 x1=y2; y1=x2-a/b*y2
标签:拓展 欧几里得 color div amp class style gcd 算法
原文地址:https://www.cnblogs.com/hanasaki/p/10996821.html