版面图

扩展欧几里得算法

算法描述:

求解二元一次方程$ax+by=gcd(a,b) $的一组解

理论依据:

裴蜀定理:对于任意整数\(a,b\), 存在一对整数\(x,y\),满足\(ax+by=gcd(a,b)\)

核心代码

int exgcd(int a,int b,int &x,int &y) {
    if(b==0){
        x=1;y=0;
        return a;
    }
    else{
        int d=exgcd(b,a%b,x,y);
        int temp=x;
        x=y;
        y=temp-(a/b)*y;
        return d;
    }
}

时间复杂度: \(O(log(max(a,b))\)

posted @ 2023-03-13 15:26  xinyimama  阅读(33)  评论(0)    收藏  举报