1. ホーム
  2. ジャバスクリプト

[解決済み】乱数を中央にフォーカスして取得する

2022-04-03 19:30:30

質問

1~100の間で乱数を取得し、その結果を主に40~60の範囲に収めることは可能でしょうか?まれにその範囲から外れることもありますが、主にその範囲に収まるようにしたいのですが・・・。JavaScript/jQueryで可能でしょうか?

今現在は、基本的な Math.random() * 100 + 1 .

解決方法は?

最も簡単な方法は、0〜50の乱数を2つ生成し、それらを足し合わせることです。

これは、サイコロを2つ振ると7に偏るのと同じように、50に偏った分布になります。

実際、より多くのquot;dice"を使用することによって。 (@Falco が提案するように) よりベルカーブに近づけることができます。

function weightedRandom(max, numDice) {
    let num = 0;
    for (let i = 0; i < numDice; i++) {
        num += Math.random() * (max/numDice);
    }    
    return num;
}

<イグ

JSFiddleです。 http://jsfiddle.net/797qhcza/1/