私はモンテカルロ シミュレーションを書いています。N<40 の {1,2,...,N} に一様に分散された整数を生成するために、多くのランダム ビットが必要になります。C 関数を使用する際の問題は、標準的な手法rand
を使用すると、完全に適切なビットが大量に無駄になることです。rand % N
整数を生成するためのより良い方法は何ですか?
暗号的に安全な乱数は必要ありませんが、乱数によって結果が歪められることは望ましくありません。また、random.org からビットのバッチをダウンロードすることを解決策とは考えていません。