Random(0,1)
関数が知られています。これは、均一なランダム関数です。つまり、50%確率で0または1を返します。 Random(a, b)
を実装しているのはRandom(0,1)
乱数生成(a、b)ランダム(0,1)を呼び出す
です。これまでのところ、0から始まる範囲に範囲a-bを入れてから、インデックス0,1,2 ... b-aがあります。
次に、RANDOM(0,1)
をb-a回呼び出すと、生成されたidxとして結果が合計されます。要素を返します。
しかし、この本には答えがないので、この方法が正しいかどうかはわかりません。各要素を返す確率が全く同じであり、1/(b-a+1)
であることを証明するにはどうすればよいですか?
これを行うには適切な方法はありますか?
可能な重複:[誤ったジェネレータで乱数を取得する方法](http://stackoverflow.com/questions/7694933/how-to-get-random-numbers-with-the-wrong-generator) – PengOne