-1

具体的には、次の形式で使用する場合:

Random.nextFloat() * N;

0 から N までの高度にランダム化された値の分布を期待できますか? このようなことをした方が良いでしょうか?

Random.nextInt(N) * Random.nextFloat();

4

3 に答える 3

1

Random#nextFloat() は、0 から 1 の間で均等に分散された数値を返します。

均等な分布に N を掛けると、分布が均等に拡大されます。したがって、0 から N までの乱数が均等に分散されます。

これに 0 から N までの乱数を掛けると、不均一な分布になります。N を掛けると 0 と N の間の均等な分布が得られる場合、0 と N の間の数を掛けると、単に N を掛けた場合と同じかそれ以下の答えが得られるはずです。したがって、平均の数は小さくなります。

于 2013-09-18T13:54:18.997 に答える