最小値から最大値の範囲内の乱数
importance: 2
組み込み関数Math.random()は、0から1(1は含まず)までの乱数を生成します。
minからmax(maxは含まず)までの浮動小数点の乱数を生成する関数random(min, max)を作成してください。
動作例
alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525
すべての値を0…1の区間からminからmaxまでの値に「マッピング」する必要があります。
それは2段階で行うことができます。
- 0…1の乱数を
max-minで掛けると、可能な値の区間は0..1から0..max-minに増加します。 - ここで
minを追加すると、有効な区間はminからmaxになります。
関数
function random(min, max) {
return min + Math.random() * (max - min);
}
alert( random(1, 5) );
alert( random(1, 5) );
alert( random(1, 5) );