随机数生成器

在任意范围内生成随机数——一次一个或一次最多 1000 个,可开启「不重复」做公平抽取。全程在浏览器本地运行,默认使用加密级随机源。

在浏览器本地运行

使用方法

  1. 用最小值和最大值设定范围,比如 1 到 100,或 1 到 6 模拟骰子。
  2. 需要一次生成多个就调大「数量」;要求每个数都不重复时勾选「不重复」。
  3. 点「生成」,再点「复制」拿走结果;需要小数就把「小数位」调到 1 以上。
  4. 在「种子」里输入任意内容,每次生成都会得到同一序列——适合测试和演示。

适用场景

课堂点名与抽奖。勾选「不重复」后,每个人只会被抽中一次——班级点名、年会抽奖、分队分组都能直接用,抽多少人都不怕重复。

桌游与骰子。范围设成 1–6 就是骰子,1–20 就是 D&D 的 d20;手边没有实体骰子时,还可以一次生成整轮投掷结果。

可复现的测试与模拟。开发者填入种子后,同一设置下每次都会得到完全相同的序列——调试抽样逻辑、做演示、跑蒙特卡洛实验都很方便。

说明与限制

不填种子时,随机数来自浏览器的加密级随机源(crypto.getRandomValues),并用拒绝采样消除偏差,范围内每个数的概率严格相等。填入种子后切换为快速确定性算法(mulberry32):结果可复现,但不适合安全或博彩用途。范围上限为精确整数(±2⁵³ 以内),单次最多生成 1000 个。所有计算都在本地完成,不上传任何数据。

常见问题

怎么生成不重复的随机数?

勾选「不重复」,生成的每个数都唯一——抽奖、宾果、课堂点名直接可用。注意范围内的数的个数要不小于你要生成的数量。

能一次生成多个随机数吗?

可以,数量可设 1 到 1000,结果一次性列出来方便复制。批量生成与单个生成用的是同一套无偏算法。

这里的随机数是加密安全的吗?

默认是的——来自浏览器的加密安全随机源 crypto.getRandomValues,并用拒绝采样消除偏差。填入种子后会切换为可复现的快速算法,那种模式不是加密安全的。

种子(seed)有什么用?

同一串种子在相同设置下永远生成同一序列,适合需要复现结果的测试、演示和模拟。想要真正的随机,留空即可。

能生成小数,或 1 到 100 之间的数吗?

把最小值设为 1、最大值设为 100 就是经典的 1–100 抽取。需要小数就把「小数位」调高(最多 6 位),范围依旧均匀,只是步长细到 0.01 这样的粒度。

我输入的内容会被上传吗?

不会。生成完全在你的浏览器里进行,范围、种子和结果都不会离开你的设备,也无需注册。

X