乱数生成
好きな範囲のランダムな数字を瞬時に選びます。
- 負の数・小数にも対応
- 重複なしのユニーク抽出
- 宝くじ・サイコロのプリセット
乱数の生成方法
- 最小値と最大値を入力するか、プリセットを選びます。
- 生成する個数と重複の可否を設定します。
- 「生成」をクリックして数字を取得します。
プリセットの用途
| プリセット | 範囲と個数 | 主な用途 |
|---|---|---|
| 1〜10 | 1個、1〜10 | ちょっとしたアイスブレイクや小グループの順番決め |
| 1〜100 | 1個、1〜100 | 授業の数当てゲーム、クイズ |
| 1〜1000 | 1個、1〜1000 | 抽選会、懸賞、大規模な賞品抽選 |
| 宝くじ | 6個のユニークな数字、1〜49、並べ替え済み | カナダのLotto 6/49など、6-from-49形式の宝くじ |
| サイコロ | 1個、1〜6 | 物理的なサイコロなしでの6面ダイス1回分 |
各プリセットは範囲と個数の欄に値を入れるだけなので、あとから自由に調整できます。例えば宝くじのプリセットの範囲を、日本のロト6(1〜43)のような別の宝くじのルールに変更することもできます。
独自の範囲を設定する、具体例つき
負の数や小数を含め、最小値と最大値を自由に入力できます。最小値-10、最大値10なら、-10から10までの21個の整数がカバーされます。
小数点以下の桁数を設定すると、結果は整数に丸められず範囲内に均等に分布します。桁数を2、範囲を0〜1に設定すると、0.37や0.82のような結果が返ることがあり、割合や確率のシミュレーションに便利です。
重複なしモードは1回の生成内での重複を取り除きます。範囲がわずか15しかないのに20個のユニークな数字を求めると、少ない個数を返す代わりに範囲が狭すぎると知らせます。
ゲーム以外のよくある使いみち
- アンケートや調査のサンプルサイズや開始位置をランダムに決める。
- すでに配布済みのチケット番号に対応する、抽選や懸賞の当選番号を割り当てる。
- 表計算ソフトやコーディングプロジェクト用のテストデータを生成する。
- 会議で誰が最初に発表するかなど、3択以上の公平な決定を行う。
- 番号付きリストからランダムなページ、行、項目を選んで偏りのない抜き取り確認をする。
乱数生成のFAQ
これは本当にランダムですか?
はい。単純な疑似乱数関数ではなく、暗号鍵の生成にも使われるブラウザの暗号論的乱数生成器を使用しています。
重複なしモードはどう機能しますか?
重複なしをオンにすると、1回の生成の中で同じ数字は出ません。指定した個数より範囲が狭い場合は、無理に数字を返すのではなくその旨を知らせます。
宝くじの番号を生成できますか?
はい。宝くじのプリセットは1〜49から6個のユニークな数字を小さい順に並べます。日本のロト6(1〜43から6個)など、実際の宝くじのルールに合わせて範囲と個数を変更してください。
一度に生成できる数字はいくつまでですか?
1回で最大100個です。それ以上必要な場合はもう一度実行してください。
小数を生成できますか?
はい。小数点以下の桁数を0より大きく設定すると、選んだ範囲内で3.5や12.75のような数字が均等に分布して生成されます。
負の数を生成できますか?
はい。最小値を0未満に設定すれば、例えば-50から50のように、正の数と同じように負の数も選ばれます。
抽選会や懸賞の当選番号決めに使えるほど公平ですか?
はい。ブラウザの暗号論的乱数生成器により、範囲内のすべての数字が同じ確率で選ばれ、重複なしモードなら同じ応募番号が2度選ばれることもありません。
コード内のMath.random()とは何が違いますか?
Math.random()はセキュリティ用に設計されていない高速な疑似乱数関数です。このツールは代わりにWeb Crypto APIのランダムな値を使用しており、暗号鍵にも使われる方式のため、予測可能なパターンが生じる心配がありません。