若两个数的异或等于其最大公约数,则也必等于其差绝对值

引理:i和j二进制表示位数相同。用反证法。如果不同,则g=i^j的位数和i的相同,并且大于j的位数,从而有g\u0026gt;j,这与g=gcd(i^j)\u0026lt;=j矛盾。下面证明。记g有k位,i和j有n位,则i和j前(n-k)位相同,因此(i-j)不会超过k位,也就是小于若两个数的异或等于其最大公约数,则也必等于其差绝对值
。由于,g有k位,所以若两个数的异或等于其最大公约数,则也必等于其差绝对值
,也就是说小于若两个数的异或等于其最大公约数,则也必等于其差绝对值
且是g倍数的数只有g一个。由于(i-j)是g=gcd(i,j)的倍数,所以i-j=gcd(i,j)。证毕。
■网友
异或大于等于差(的绝对值)GCD 小于等于差(的绝对值);前提是两个数不相等故异或和 GCD 相等时,它们都等于差的绝对值。
■网友
只需证明若两个数的异或等于其最大公约数,则也必等于其差绝对值
即可。证明:不妨设若两个数的异或等于其最大公约数,则也必等于其差绝对值
,若在某个二进制位若两个数的异或等于其最大公约数,则也必等于其差绝对值
若两个数的异或等于其最大公约数,则也必等于其差绝对值
,那么容易知道交换若两个数的异或等于其最大公约数,则也必等于其差绝对值
的值后若两个数的异或等于其最大公约数,则也必等于其差绝对值
不变,但此时若两个数的异或等于其最大公约数,则也必等于其差绝对值
增加(最后两者相等)。Q.E.D.若两个数的异或等于其最大公约数,则也必等于其差绝对值
所以原命题 【若两个数的异或等于其最大公约数,则也必等于其差绝对值】 若两个数的异或等于其最大公约数,则也必等于其差绝对值


    推荐阅读