请给定两个非零整数a与b, 使得a&b=a, a|b=b,并且a&b=a|b-a^b.
动一下脑筋哦!
a=b
无论a&b=a, a|b=b 都成立
a&b=a|b-a^b这个貌似是普遍规律啊,作为计算机菜鸟的我竟然能独立发现这个规律,看来我以后肯定能成为计算机科学家啊!
我可是能研究代数几何的,研究计算机绰绰有余啊!
a=n, b=2^n-1, n=0,1,2,3,……
b包含a,即b中为1的位,a中全为1。——这就是充分必要条件。
解题思路:
位运算是针对二进制来说的,所以将a,b转换为二进制表示(不等长的话在短的前面补零)a0a1a2…ai…an,b0b1b2…bi…bn
取ai,bi为研究对象,列真值表,找到规律
另外a&b=a|b-a^b 是恒等式,所以不产生限制条件,主要限制条件是前面的条件
有真值表可看出,对所有的i ai<=bi时,整数a,b满足条件
所以这样的整数可以这样找。(见图,图大小有限制,压缩了下,希望不影响清晰度)
花了将近一个小时来帮助楼主解题,顺手给个赞呗^-^