最大公约数

来源:互联网 发布:标准误差 知乎 编辑:程序博客网 时间:2024/05/05 10:41
bool isEven_(int n)//是否是偶数{return (n&1)==0;}int gcd(int x, int y)//注意递归的基准情况和x,y同为偶数的情况{if(x<y){return gcd(y,x);}if(y==0)return x;//以上两步为递归算法中的基准情况!!if(isEven_(x)&&isEven_(y)){return (gcd(x>>1,y>>1))<<1;//x>>1 x/2}else if(isEven_(x)&&!isEven_(y)){return gcd(x>>1,y);}else if(!isEven_(x)&&isEven_(y)){return gcd(x,y>>1);}else{return gcd(y,x-y);}}

原创粉丝点击