我给个J题结论证明: 事实上无需判断x奇数还是偶数,只是满足要求的恰好x都为偶数,编程中不判断这点也可以 gcd(x,y)=x^y (y>x) 等价于gcd(x,y)=y-x 1.证明x,y二进制位数相等 假设不相等,那么x^y一定大于min(x,y),因为异或的位数等于x,y中 位数多的那个. 则gcd(x,y)<=min(x,y)<x^y,与gcd(x,y)=x^y 矛盾 2.在x,y二进制位数相等且y>x的基础上,显然x^y=y-x