求乘法逆元模板(扩展欧几里得)

void exgcb(LL a,LL b,LL &d,LL &x,LL &y){
    if(!b){d=a;x=1;y=0;return;}
    exgcb(b,a%b,d,y,x);y-=x*(a/b);
}
LL ny(LL a,LL b){  ///求a关于b的逆元(要求a,b互质)
    LL d,x,y;
    exgcb(a,b,d,x,y);
    return d==1?(x+b)%b:-1;
}

 

posted @ 2016-06-30 11:32  Kurokey  阅读(231)  评论(0编辑  收藏  举报