生孩子的問題

以前在知乎上看到的一個問題,忽然想起來了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. 讓後代繼續這個迭代過程
......
相關文章
相關標籤/搜索