-1

1 から 5 までの乱数を生成する関数 F が与えられた場合、F を使用して 1 から 7 までの乱数を生成する関数 G をどのように記述すればよいでしょうか?

G によって生成される各数値の確率は同じである必要があります。

G=F + (5*(F/7))これまでのところ、すべての確率が同じかどうかはわかりませんが、方程式 を試しました。

4

1 に答える 1

0

擬似コード:

function g()
    repeat
        // result will be equidistributed in 0..24
        result = (f()-1)*5 + (f()-1);
        // wait till we have something below 21, on average this happens 21 out of 25 times in the first pass
        if (result < 21): return 1 + (result % 7)
于 2013-02-20T09:33:40.233 に答える