読者です 読者をやめる 読者になる 読者になる

n分の1の確率で何か起こす

3分の1, 2分の1, 10分の1といったようにn分の1の確率で何かさせる場合

rand(100) % 3 == 0 ? true : false

上記は3分の1の確率で true になる…のか? こういう時、数学に強くないから困る。

実験

>> 100.times.inject([]) {|result, i| result.push rand(100) % 3 == 0 ? true : false }.count(true) # を何度も繰り返してみた
=> 38
=> 34
=> 38
=> 39
=> 26
=> 24
=> 32

ん????