最小値から最大値の範囲内の乱数
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) );