最大公约数
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); } }