exgcd

void

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

int 易写

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

int 本质

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

 

posted @ 2018-09-10 15:36  ASDIC减除  阅读(124)  评论(0编辑  收藏  举报