生孩子的问题

以前在知乎上看到的一个问题,忽然想起来了dom

大意是:spa

生孩子,剩下男孩就不生了,不然继续生。
而后有人说这个是没法影响男女平衡的。
虽然高中学过的几率告诉我:每一次都是独立事件。
可是这里有点反直觉了。

花了十几分钟写了段jscode

//js
let all_boy = 0;
let all_girl = 0;
let households = 10000000; //一千万
let max = 5;
let current = 0;

draw();
while(households > 0){
    let res = game(households);
    all_boy += res.boy;
    all_girl += res.girl;
    households = res.households;
    draw();
    console.log(res);

    if (++current >= max){
        break;
    }
}
function draw(res){
    document.querySelector("#over").textContent = households;
    document.querySelector("#boy").textContent = all_boy;
    document.querySelector("#girl").textContent = all_girl;
    document.querySelector("#diff").textContent = all_boy - all_girl;
}

function game(households){
    let next = households;
    let boy = 0;
    let girl = 0;
    for(let i = 0; i<households; i++){
        if(getSex()){
            boy++;
            next--;
        }else{
            girl++;
        }
    }
    return {
        households:next,
        boy,
        girl,
    };
}
function getSex(){
    $rand = Math.random();
    if($rand == 0.5){
        return getSex();
    }else{
        return $rand > 0.5;
    }
}
<style>
    .name{
        display: inline-block;
        width: 120px;
    }
</style>
<div>
    <div><span class="name">剩余户数</span><span id="over">0</span></div>
    <div><span class="name">男</span><span id="boy">0</span></div>
    <div><span class="name">女</span><span id="girl">0</span></div>
    <div><span class="name">相差</span><span id="diff">0</span></div>
</div>

而后运行几遍,好像确实是没啥影响事件

后续

如今这个模型还有点粗糙, 之后看有时间的时候完善一下get

1. 生孩子
2. 是男孩就中止,是女孩继续生
3. 第N个出生的是女孩, 就不继续生了

-------计划
1. 让后代继续这个迭代过程
......
相关文章
相关标签/搜索