1. 程式人生 > >拓展歐幾裏得模板

拓展歐幾裏得模板

ret adding class ont col ext pan int 拓展歐幾裏得

數論拓展歐幾裏得,計算mx+ny=d的一組解(m。n為已知)

int xx=x+n/d*i;

int yy=y-m/d*i;//xx,yy分別為其它通解

void extend_gcd(int a,int b,int &x,int &y,int &d)  
{  
    if(!b)  
    {  
        x=1;  
        y=0;  
        d=a;  
        return;  
    }  
    extend_gcd(b,a%b,x,y,d);  
    int t=x-a/b*y;  
    x=y;  
    y=t;  
}  


拓展歐幾裏得模板