Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

黑球、白球各100,问最后剩下一个是黑球的概率 #129

Open
sisterAn opened this issue Nov 17, 2020 · 3 comments
Open

黑球、白球各100,问最后剩下一个是黑球的概率 #129

sisterAn opened this issue Nov 17, 2020 · 3 comments

Comments

@sisterAn
Copy link
Owner

一个桶里面有白球. 黑球各 100 个,现在按下述的规则取球:
i . 每次从桶里面拿出来两个球;
ii. 如果取出的是两个同色的球,就再放入一个黑球;
iii. 如果取出的是两个异色的球,就再放入一个白球。
问:最后桶里面只剩下一个黑球的概率是多少?

@yelin1994
Copy link

yelin1994 commented Nov 18, 2020

这边得出的一些结论不知道对不对。

  • 每次操作,桶中都减少一个球

  • 桶中白球的个数都是成对存在的,也就是为偶数。

所以假设如下: 当桶中剩下三个球的时候分为以下几种情况

  1. 白白黑
  2. 黑黑黑
    最后的结果都是只剩下一个黑球。

@sisterAn
Copy link
Owner Author

解法一:

我们可一个用一个集合来表示桶中的黑球和白球的个数。从桶中取出球后,只可能是下列三种操作:

  1. 取出的是两个黑球,则放回一个黑球:(-2, 0) + (1, 0) = (-1, 0)
  2. 取出的是两个白球,则放回一个黑球:(0, -2) + (1, 0) = (1, -2)
  3. 取出的是一黑一白,则放回一个白球:(-1, -1) + (0, 1) = (-1, 0)

根据上面的规则,我们可以发现:白球的数量变化情况只能是不变或者-2,也就是说,如果是100个白球,白球永远不可能是1个的情况,那么问题的解法就很简单了,就是只剩下黑球的概率为100%

解法二:

两个相同的球异或等于0,两个不同的球异或等于1,将黑球赋为0,白球赋为1

下面给出异或运算的一些规律:

1)偶数个1异或,结果为0;

2)偶数个0异或,结果为0;

3)奇数个1异或,结果为1;

4)奇数个0异或,结果为0:

可以作这样的抽象:每次捞出两个数字做一次异或操作,并将所得的结果丢回桶中。

因此最后的结果实际上相当于把所有的球都进行一次异或运算,最后所得的结果即为最后剩余的球。

就有可能是0 ^ 1 ^ 1 ……之类的情况,又因为异或满足结合律,上式可变为:

(0 ^ 0 ……^ 0) ^ (1 ^ 1 ……^ 1)两边都是100个,结果就是0,所以结果只能是黑球,就是只剩下黑球的概率为100%

@fxwing
Copy link

fxwing commented Dec 7, 2020

不管怎么取最后都会只剩下黑球

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants