産み分け問題
https://gyazo.com/99f551e61f8da015118f509209859932.png
男の子が生まれるまで子供を産み続けなければならない国があるとき、その国の男女構成比はどうなるか?
というのをシミュレーションで計算する
子供の数は平均何人になるだろう?
ヒストグラムを表示したいか
1/2, 1/4, 1/8, ... になるから冪分布になるのはあたりまえか
実行 (github.io)
実行 (run-p5.web.app)
code:umiwake.js
function setup(){
boys, girls = 0, 0
createCanvas(1000,400)
text('男',10,10)
text('女',10,30)
frameRate(20)
histogram = []
for(i=0;i<100;i++) histogrami = 0
}
function draw(){
children = 0
while(1){
children += 1
if(random(2) > 1){ // 男
boys += 1
break // 男が生まれたので産むのをやめる
}
else {
girls += 1
}
}
histogramchildren += 1
fill('blue')
strokeWeight(0)
rect(30,2,boys,10)
rect(30,22,girls,10)
fill('green')
for(i=0;i<100;i++){
rect(i*10,400-histogrami,10,histogrami)
}
}
code:ruby
male = 0 # 生まれた男の数
female = 0
(0...1000).each { |family|
while true
if rand > 0.5 # 男
male += 1
break # 男が生まれたら産むのをやめる
else
female += 1
end
end
}
puts "男 = #{male}, 女 = #{female}"
男が1000人生まれるとき女は何人生まれるか??
出典: Googleの面接試験だとか