乱数ジェネレーターを実装して、必要な最大数を設定できるようにするだけでなく、確率を微調整して、より大きな数を取得するのを難しくしたいと考えています。
これを使用すると、100 の範囲内の任意の値に同じ確率が割り当てられます。
Math.floor(Math.random()*100);
数値が限界 (100) に近づくにつれて数値が表示されにくくなるようにするにはどうすればよいですか?
乱数ジェネレーターを実装して、必要な最大数を設定できるようにするだけでなく、確率を微調整して、より大きな数を取得するのを難しくしたいと考えています。
これを使用すると、100 の範囲内の任意の値に同じ確率が割り当てられます。
Math.floor(Math.random()*100);
数値が限界 (100) に近づくにつれて数値が表示されにくくなるようにするにはどうすればよいですか?
の結果を二乗するMath.random
:
var result = Math.random();
result = result * result;
result *= 100;
result = Math.floor(result);
指数を調整することで曲線を調整できます。さまざまな指数のグラフを次に示します。
整数以外の指数を使用する場合は、を使用する必要がありますMath.pow
。
必要な確率の重み付けを与える曲線を持つ数学関数を使用するだけです。たとえば、あなたはあなたの数を「二乗」することができます:
var num = Math.pow(Math.floor(Math.random()*10), 2);
上記は、1〜10の乱数を生成し、それを2乗して、1〜100の乱数を生成しますが、より低い数に重み付けされます。
より高い電力を使用することで、重みをさらに増やすことができます。
Math.pow(Math.floor(Math.random()* 10)、2);
または同様のもの。