ランダム数生成器

指定した範囲の整数をランダムに生成します。個数も自由に決められ、重複の可否も選べます。

計算は端末内で行われ、入力値をサーバーへ送りません。

具体例

1〜100の範囲には100個の整数が含まれ、1回の抽出で各値が選ばれる確率は1%です。1〜6ならサイコロと同じで、各目が16.67%になります。

計算方法・仕組み

範囲は両端を含みます。値はブラウザーの暗号学的に安全な乱数源と棄却サンプリングで生成するため、範囲の上端の数値だけが出やすくなったり出にくくなったりしません。簡易な計算式ではこの偏りが生じることがあります。

注意事項

生成されるのは整数だけです。小数が必要な場合は、より大きな範囲の整数を生成して割ってください。たとえば1〜1,000の整数を100で割ります。ページの動作を軽く保つため、1回の生成は1,000個までです。

両端を含む範囲と等しい確率

最小値、最大値、生成する個数を入力します。両端を含むので、1〜100には100通りの整数があり、毎回それぞれ1%の確率です。1〜6なら公平なサイコロと同じで、各目が16.67%です。ブラウザーの暗号学的に安全な乱数と棄却サンプリングを使うため、簡単な計算式で起こりがちな「範囲の上の方の値がわずかに出やすい・出にくい」という偏りがありません。

予想より早く重複が出る理由

重複を許可すると各数は独立に選ばれ、重複は意外なほど早く起こります。1〜100から5個選ぶと、少なくとも1つの値が重複する確率は9.65%です。1〜365から23個選ぶと重複の確率は50.73%で、有名な誕生日のパラドックスです。抽選番号やテスト用IDが互いに異なる必要がある場合は、「重複を許可」のチェックを外して、その組の中で各値が最大1回だけ出るようにしてください。

重複なしの組と実用上の上限

重複なしでは、個数を範囲内の値の数より多くできません。1〜10から10個を選ぶと、10個すべての値がランダムな順番で1回ずつ出るため、番号付きの座席や問題を並べ替える簡単な方法になります。ページの動作を保つため、1回の生成は1,000個までです。生成されるのは整数だけです。ランダムな小数が必要なら、広い範囲の整数を作って割り算してください。たとえば1〜1,000の整数を100で割ります。

計算・使用例
入力結果
1–100 · ×1P(each value) 1%
1–6 · ×1P(each value) 16.67%
1–100 · ×5 · duplicates allowedP(any repeat) 9.65%
1–365 · ×23 · duplicates allowedP(any repeat) 50.73%
1–10 · ×10 · no duplicatesall 10 values once

よくある質問

重複がすぐ出るのはなぜですか?

重複を許可すると、各数値が独立に抽出されるからです。1〜100から5個引くと、少なくとも1つ重複する確率は9.65%です。1〜365から23個引けば、その確率は50.73%になります。これがいわゆる誕生日のパラドックスです。

重複のない集合を作るには?

「重複を許可」のチェックを外してください。すると各値はその集合の中で最大1回しか現れません。抽選券番号やテストIDのように、重複してはいけない用途で必要になります。重複を禁止した場合、個数は範囲内の値の総数を超えられません。

番号付きの一覧をシャッフルできますか?

できます。重複なしで1〜10から10個を生成すると、10個の値すべてがちょうど1回ずつランダムな順序で返ります。座席番号、問題番号、順番などを手早くシャッフルしたいときに便利です。

関連ツール