1

コイントスを使用して一様乱数 0..n を生成する通常の方法は、明らかな方法で n より大きい最小の 2 のべき乗の rng を構築することです。次に、このアルゴリズムが n-1 より大きい数を生成するたびに、それをスローします。離れて番号を付けて、もう一度やり直してください。

残念ながら、これには無限の最悪のケースのランタイムがあります。

終了を保証しながらこの問題を解決する方法はありますか?

4

1 に答える 1

2

この回答からの引用https://stackoverflow.com/a/137809/261217 :

1/7 は基数 5 の無限小数であるため、一定の時間内に実行される (正確に正しい) 解はありません。

アダム・ローゼンフィールドになぜそれが本当なのか聞いてください:)

于 2014-01-27T14:13:04.507 に答える