随机数生成器
在任意范围内生成随机数——一次一个或一次最多 1000 个,可开启「不重复」做公平抽取。全程在浏览器本地运行,默认使用加密级随机源。
使用方法
- 用最小值和最大值设定范围,比如 1 到 100,或 1 到 6 模拟骰子。
- 需要一次生成多个就调大「数量」;要求每个数都不重复时勾选「不重复」。
- 点「生成」,再点「复制」拿走结果;需要小数就把「小数位」调到 1 以上。
- 在「种子」里输入任意内容,每次生成都会得到同一序列——适合测试和演示。
适用场景
课堂点名与抽奖。勾选「不重复」后,每个人只会被抽中一次——班级点名、年会抽奖、分队分组都能直接用,抽多少人都不怕重复。
桌游与骰子。范围设成 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 这样的粒度。
我输入的内容会被上传吗?
不会。生成完全在你的浏览器里进行,范围、种子和结果都不会离开你的设备,也无需注册。