0

一定の結果確率に従うコイントスを行う必要があります。例えば、表が出る確率が67%、裏が出る確率が83%のコイン投げなど。

true配列に100をfalse入力し、同等の分布で、ランダムに1つのアイテムを選択することで、私が求めている結果を得ることができました。それを行うためのよりエレガントな方法は何ですか?

4

2 に答える 2

5
rand < 0.67
rand < 0.83

それぞれ 67% と 83% の確率で与えられます。これは、一様に選択された ( によって返されるような)true乱数xがセグメント に到達する可能性が 67% であるためです。0 <= x < 1Kernel#rand0 <= x < 0.67

于 2016-02-01T01:18:19.253 に答える
3

Random#rand(max)(およびKernel#rand(max)):

max が整数 [1 以上] の場合、rand は 0 以上 max 未満のランダムな整数を返します。

そう:

p = rand(100)
return p < 83  # ie. true for heads

理論的には、これは配列分散方法のように「正確」になる可能性があります。

于 2016-02-01T01:17:44.113 に答える