gcd和lcm

\(GCD\)(辣鸡欧几里得)

直接记住就好了

ll gcd(ll a,ll b)
{
    return b==0?a:gcd(b,a%b);
}

有一个用异或就解决的,忘记了,暂时不理了

(?)蜀定理:

有a1an的n的整数,d是他们gcd,那么存在整数x1xn得x1a1+x2a2......+xn*an=d

\(EXGCD\)

\(ax+by=gcd(a,b)=d\)的一组最小解

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

\(a*b=gcd*lcm\)

posted @ 2019-07-07 08:43  ComputerEngine  阅读(134)  评论(0编辑  收藏  举报