Toolkitbar

随机数生成器 — 自定义取值范围

在你指定的范围内,公平地抽数。

选项

包含在取值范围内。

包含在取值范围内。

在你的设备上运行 你粘贴的内容由你自己的浏览器处理,不会发送到任何服务器,离开页面后也不会留在任何地方。

一句话答案

随机数可以在浏览器里免费生成,范围任意,一次一个或一次一百个,可以是整数也可以是小数,可以允许重复也可以要求每个都不同。数值取自平台的密码学安全随机源,并采用拒绝采样,因此范围内每个数字的概率完全相等 —— 而不是用 Math.random 配上取余,那样既可预测又略有偏差。

一览

支持输入无需输入,本工具直接生成
输出格式随机数,每行一个
处理方式浏览器本地
价格免费,无次数限制
账号无需注册

区分一次公平抽取和一次草率抽取的,是两个在结果里完全看不出来的细节。第一个是来源:这里用的是操作系统的密码学随机数发生器,而不是 Math.random —— 后者的序列可以从观察到的少数几个值推算出来。第二个是方法 —— 对一个随机整数取余,会让范围靠前的那一段概率稍高,而拒绝采样彻底消除了这种偏差。

选今晚看哪部电影,这两点都无所谓。但一旦有人把结果当成公平的 —— 抽奖、随机排序、从名单里抽样 —— 它们立刻就要紧了。

使用步骤

  1. 1

    设定范围

    下限和上限,两端都包含在内。默认是 1 到 100。

  2. 2

    选择数量,以及是否允许重复

    抽奖或者买彩票选号要的是“互不相同”;掷骰子要的是“允许重复”。

  3. 3

    点击生成

    数字每行一个显示出来。再点一次就是全新的一轮。

  4. 4

    复制出去

    把列表复制到剪贴板,或者下载成文本文件。

常见问题

用来抽奖够随机吗?

随机源是操作系统的密码学随机数发生器,采样也没有偏差,这是软件层面能做到的最好程度。但一次抽奖是否公平,还取决于它只抽一次并且有人见证 —— 那部分没有任何生成器帮得上忙。

能生成互不重复的数字吗?

可以,选“互不相同”。数量不能超过范围本身的大小,否则就没有数可抽了。

范围的两端都包含吗?

整数是包含的:1 到 6 既可能出 1 也可能出 6。小数是从下限取到上限但不含上限,这是连续区间的通常约定。

为什么不用 Math.random?

因为它是一个快速但非密码学的生成器,未来的输出可以从过去的输出推算出来;而且把它和取余结合起来会让结果有偏。对一件被当作公平抽取来呈现的事情来说,这两点都不可接受。

生成的数字会被记录下来吗?

不会。它们在你的标签页里产生,在你复制之前也只存在于那里。没有任何日志,也没有别人能看到它们。

相关工具

浏览全部数学工具 →