一直想要个女儿. @happyukgo 可是条件不允许, 至少是暂时的吧.
然后就有这么一个问题: 如果大家要是一直生一直生直到生到女儿, 生到女儿就不生了, 这样大概来说男孩女孩比例还是 1:1 么?
如果生男孩是B, 生女孩是G, 只生一个大家都知道是50%的概率(染色体XX和XY结合 各50%的概率生男孩或生女孩). 如果一直生直到生女孩 这序列就是:
G, BG, BBG, BBBG, ….
关键来了, 好像男孩B比较多, 我们用P(B)表示生男孩的概率, P(A)表示生女孩的概率, P(BG) 表示生一男一女的概率 ..
还没生的时候, 再生一女孩 P(B)的总概率是1/2, 概率乘于男孩个数 = 0
当生一男孩后, 再生一女孩 P(BG)的总概率是1/4 (剩下50% 再乘于50%), 概率乘于男孩个数 = 1/4
当生二男孩后, 再生一女孩 P(BBG)的总概率是1/8 (剩下25% 再乘于50%), 概率乘于男孩个数 = 2/8
当生三男孩后, 再生一女孩 P(BBBG)的总概率是1/16 (剩下25% 再乘于50%), 概率乘于男孩个数 = 3/16
以此类推:
概率乘于男孩个数 =
把这些相加:
当 i 趋近于无穷大的时候 这值约为 1. 也就是说每个家庭生男孩子平均值为1 而我们知道每个家庭生女孩个数为1 所以男女比例50%:50%.
如果你还是有点不信 那么我们用VBScript程序来仿真一下吧:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | boys = 0 girls = 0 N = 100000 Function Gender Gender = Rnd() <= 0.5 End Function For i = 1 To N boy = 0 girl = 0 Do If (Gender) Then boys = boys + 1 Else girl = 1 End If Loop Until girl > 0 boys = boys + boy girls = girls + girl Next WScript.Echo boys / girls '1.00183 |
boys = 0 girls = 0 N = 100000 Function Gender Gender = Rnd() <= 0.5 End Function For i = 1 To N boy = 0 girl = 0 Do If (Gender) Then boys = boys + 1 Else girl = 1 End If Loop Until girl > 0 boys = boys + boy girls = girls + girl Next WScript.Echo boys / girls '1.00183
当 N 越来越大 这比例是越来越接近 1 所以生男生女都一样… 哎哎 真是羡慕 @tumutanzi
相关英文帖子: Boy or Girl? Python Validation
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK