http://www.cnblogs.com/Linkabox/p/3358847.html
问题:有一个桶,里面放有白球、黑球各100个,人们必须按以下规则取出:
1.每次从桶里取出两个球
2.如果两个同色,就放入一个黑球
3.如果两个异色,就放入一个白球
最后桶里只剩下一个黑球的概率是多少?
解法二:
原理:用数学的思路来解,利用异或(XOR)的性质来解答。
两个相同的数,xor=0(黑为0)
两个不同的数,xor=1(白为1)
上面的取球操作就可以抽象成:每次捞出两个数做一次xor,并将所得结果放回桶中。
假设取球过程如下:
1.先取两个黑,放入一个黑。0 XOR 0 =0,结果为(1,2)
2.取一黑一白,放入一个白。0 XOR 1 =1,结果为(0,2)
3.最后只能取两个白,1 XOR 1 =0,结果为(1,0)
因为异或满足结合律,即(a XOR b)XOR c=a XOR(b XOR c)
所以上面的操作的先后顺序不影响最终结果,取球过程相当于将里面所有球进行XOR操作。
因此,剩下一个球的时候,桶中的权值等于初始时刻所以球权值的异或值,也就是0(黑色)。
解法一:
原理:先将问题的规模缩小,然后枚举其操作的过程,找出规律,其实就是归纳法。
原命题的黑白各100,我们可以设为黑白各2个来看看,下面以这种方式表示(黑,白)的数目。
第一次操作可能的情况:
(1,2)或(3,0)
第二次操作可能的情况:
(2,0)或(0,2)
第三次操作可能的情况:
(1,0)或(1,0)
可以看出经过3次操作后,都只剩下一个黑球,总结一下其规律:
1.不论黑白,每次都会减少一个球,最后桶内肯定只剩一个球。
2.每次拿球,白球数量要么不变(-1黑-1白+1白),要么就两个两个地减少(-2白+1黑)
扩展问题:
1.若桶中黑白球个数各为99,那结果如何?
根据解法二,其异或值为1,即最后剩下的一定是白球。
2.如果黑白球数量不定,那结果如何?
还是看异或值,即黑白球的奇偶性。