CodeKitHub
日本語
日常ツール

乱数生成器

1から10、1から100など、任意の範囲で1つまたは複数の乱数を生成できます。 ワンクリックで設定できるプリセットには、最も一般的な範囲が用意されていますが、最小値と最大値を自分で入力することも可能です。「重複なし」をオンにすると、宝くじのように(各数字が最大1回しか出現しないように)抽選が行われ、必要に応じて結果を並べ替えることもできます。暗号学的に安全な乱数生成方式を採用しているため、範囲内のすべての数字が完全に均等な確率で出現します。

人気の範囲:

このツールとは?

乱数生成器は、すべての値が等しい確率で出現する範囲から数字を選び出します。人々はこれを利用して、抽選やプレゼントの当選者を決定したり、チームをランダムに編成したり、宝くじの番号を選んだり、調査のための無作為抽出を行ったり、ゲームで特大のサイコロを振ったり、偏りのない決定を下したりしています。

見た目以上に重要なのは品質です。単純な乱数生成器には、生成範囲の一部に対して微妙な偏りがあります。このツールは、ブラウザの暗号用乱数と「リジェクションサンプリング」を組み合わせています。これは、完全に一様な結果を得るための教科書的な手法であり、すべての数値が他のどの数値ともまったく同じ確率で生成されます。

なぜこれを使うのか?

  • 負の数を含め、一度に最大10,000個までの任意の範囲。
  • 公平な抽選のための「重複なし」モード — 袋から番号の書かれたボールを取り出すような仕組みです。
  • 読みやすいリストのためのオプションの並べ替え機能。
  • 「証明可能な公平性」:暗号学的に安全で偏りがなく、実際のプレゼント企画に適しています。
  • 非公開かつ即時 — お使いの端末上で生成され、一切のログは記録されません。

使い方

  1. 最小値と最大値(両端を含む)を設定します。
  2. 必要な数字の数を指定してください。
  3. 重複のない抽選を行う場合は「重複なし」にチェックを入れ、順序付きの一覧が必要な場合は「並べ替え」にチェックを入れてください。
  4. 「数字を生成」をクリックしてください。1つの数字は大きく表示され、リストの場合は1行に1つずつ表示されます。
  5. リストの場合は、「すべてコピー」をクリックしてください。

入力

Min: 1, Max: 50, Count: 6, no duplicates, sorted

出力

3
11
24
30
42
49

定番の宝くじ形式の抽選:1~50の中から6つの異なる数字を選び、並べ替えます。

実用的なヒント

  • 1つの数値ではなくリストが必要ですか?その場合は、カウントを1より大きい値に設定してください。このツールは1行につき1つの数値を出力するため、スプレッドシートの列に貼り付ける準備が整います。
  • ボードゲームやテーブルトークRPGでダイスを振る? ダイスの目(1~6、1~20)に合わせて最小値・最大値を設定すれば、「生成」を何度もタップする代わりに、一度に複数の出目を生成できます。
  • 500人の回答者が番号付きでリスト化された中から、少数の調査対象者を選出したい場合? 範囲を1~500に設定し、「重複なし」をオンにして、必要な数のIDを抽出してください。そうすれば、同じ人が2回選ばれることはありません。
  • プールから1人の勝者を選ぶ方法は、リストを生成する場合と同じです。countを1に設定し、rangeを参加人数に設定してください。
  • 宝くじ形式の数字生成(例えば、1~49から6つの数字を選ぶ場合)では、「重複なし」の設定に加えて並べ替えを行うことで、実際の宝くじの抽選結果の読み上げを再現することができます。

乱数と乱数リストの比較

単一の乱数と乱数リストは、同じ生成器から生成されます。唯一の違いは、指定するカウント数です。 countを1に設定すると単一の乱数を生成し、値を大きくすると乱数リスト生成機能としても機能し、スプレッドシートへの貼り付けが容易なように、1行につき1つの値を出力します。どちらのモードも、暗号学的に安全でバイアスのない同じソースから乱数を生成しています。

抽選で数字ではなく一意のIDが必要な場合は、UUIDの方が適しています。UUIDは、単一のバッチ内だけでなく、システム間で重複が発生しないように設計されているからです。

UUID ジェネレータ · パスワード生成ツール

人気の範囲:1~6、1~10、1~30、1~100など

多くの人は、いくつかの定番の範囲内の乱数が必要となるため、このツールにはそれらに対応したワンクリックで設定できるプリセットが用意されています。1~6は標準的なサイコロの目(テーブルトークRPGでは1~20を使用してください); 1~8および1~30は、授業での抽選や小規模なくじ引きによく使われます;1~10および1~100は、日常的な「数字を選ぶ」場面で一般的な範囲です;1~1000は、より大規模な抽選に適しています。

各プリセットは単なるショートカットに過ぎません。最小値と最大値が自動的に設定され、即座に乱数が生成されます。1から20、5から50、あるいは-10から10の範囲の乱数が必要ですか? 負の数を含め、任意の範囲を入力してください。生成される乱数は常に両端の値を含みます。

「数字ランダム化ツール」と「乱数生成ツール」は同じものです。範囲を設定し、「生成」をクリックすれば、偏りのない数字が選ばれます。繰り返し抽選を行う場合(例えば、1~90のビンゴ番号を抽選する場合など)は、「重複なし」を有効にすると、各数字が1回だけ抽選されます。

よくある質問

その数字は本当にランダムなのでしょうか?

これらは、crypto.getRandomValues() から生成されたもので、お使いのオペレーティングシステムの暗号用乱数生成源に、範囲の偏りを除去するためのリジェクションサンプリングを適用したものです。抽選、ゲーム、サンプリングにおいて、これ以上の公平性はありません。

結果には最小値と最大値も含まれていますか?

はい、両端を含みます。1~10の範囲では、1と10の両方が含まれます。

「重複なし」は、具体的にはどのような働きをするのでしょうか?

その範囲内の各数は、袋から番号の書かれたボールを「戻さずに」1つずつ引き出すように、最大で1回しか出現できません。したがって、その数は範囲のサイズを超えることはできません。もし超えた場合は、ツールが通知します。

これを使って、プレゼントの当選者を公平に選ぶことはできますか?

はい。参加者に1からNまでの番号を割り当て、その範囲内で1つの数字を生成すれば、偏りのない抽選結果が得られます。複数の当選者が出る場合は、「重複なし」を設定して、同じ人が2回当選しないようにしてください。

なぜリストに同じ番号が2回表示されたのですか?

「重複なし」をオフにすると、各抽選は独立して行われます。つまり、同じ結果が出ることはあり得ますが、これはむしろ真のランダム性を示す証拠でもあります(サイコロでも同じ目が2回出ることはあります)。各数字を1回ずつしか使いたくない場合は、「重複なし」をオンにしてください。

1から100までの間の乱数を生成するにはどうすればよいですか?

「1~100」のプリセットをクリックするか(あるいは「Min」を1、「Max」を100に設定して)、「Generate Numbers」をクリックしてください。 1から100までの各整数が、100分の1の確率で選ばれます。この仕組みは、1から10、1から30、1から1000、あるいは任意の範囲など、どのような範囲でも同様に機能します。

これを使ってサイコロを振ることができますか(1~6のランダムな数字)?

はい。1~6(サイコロ)のプリセットを使用してください。一度に複数のサイコロを振る場合は、カウント数を増やしてください。例えば、カウント4で範囲を1~6に設定すると、1回のクリックで4つのサイコロを振ることができます。D20の場合は、範囲を1~20に設定してください。

ビンゴや抽選会のようなランダムな抽選を行うにはどうすればよいですか?

範囲を全数(ビンゴの場合は1~90、抽選の場合は1からチケット枚数まで)に設定し、「重複なし」をオンにして、リスト全体を一度に生成します。そのリストを順番に読み上げることは、数学的には「抽選した数字を戻さずに1つずつ引く」ことと同じですが、より高速です。

関連ツール