随机数生成器

对比计算

下载

包含本次计算的输入与结果,以及您对比过的所有附加计算。

均匀随机地选取一个或多个数字

随机数生成器从您选择的范围内,均匀随机地选取一个或多个整数。 输入最小值、最大值、您想要的数字数量,以及是否允许重复,此计算器会立即生成这些数字 — 适用于抽取抽奖或赠品获奖者、做决定、抽取彩票式号码,或生成测试数据。

与本站的其他所有计算器不同,此处的结果被刻意设计为无法仅凭输入内容重现 — 分享链接会恢复您的设置(最小值、最大值、数量,以及是否允许重复),这样朋友就能用相同的设置生成他们自己的数字,但不会给他们和您完全相同的数字。这正是随机数生成器存在的全部意义:再次运行本应给您带来新的结果。

底层工作原理

每个数字都是从您的最小值到最大值(含两端)之间的每个整数中均匀随机选取的 — 该范围内的每个值都有相等的机会被选中。当勾选「不重复数字」时,此计算器会持续抽取,直到获得足够数量的互不相同的值,这与从袋子中抽取编号球而不放回的方法相同。

计算示例

选择1 到 49 之间的 5 个唯一数字(常见的彩票式抽取),不允许重复:

  1. 计算器从 1 到 49 之间均匀随机地抽取一个整数。
  2. 如果该数字尚未被抽取过,则保留;如果已经抽取过,计算器会重新抽取——就像从袋子里取出一个编号 球而不放回去一样。
  3. 这个过程重复进行,直到抽取出 5 个不同的数字——例如 7、14、22、35 和 41。

再次运行完全相同的设置会产生真正不同的 5 个数字,因为(如上所述)这里只有设置本身才是可重现的, 实际结果从来都不是。

常见用途

  • 抽取获奖者,从编号的抽奖或赠品参与名单中。
  • 抽取彩票式号码,用于从某个范围中选取多个数字的游戏。
  • 做决定 — 掷一个虚拟骰子(1-6)、抛硬币(1-2),或在几个选项中做选择。
  • 为电子表格或编程项目生成样本或测试数据

需要考虑的关键因素

  • 「均匀随机」意味着范围内的每个数字都有相等的出现机会,而不是说结果在多次抽取中会看起来 平均分布。 一小段随机数序列纯粹由于偶然性也可能看起来聚集或不均匀——真正的随机性并不保 证在少量抽取中呈现均匀分布,它只保证每次单独抽取的概率相等。
  • 排除重复与允许重复相比,会改变概率分布,对较小的范围尤其明显。 不放回地抽取(如彩票抽 奖)会把已经抽到的数字从后续抽取的候选范围中移除,而允许重复则让每次抽取完全独立——选择正 确的模式,对于准确模拟彩票抽奖与重复掷骰子这类真实场景来说很重要。
  • 本计算器的随机性适合日常用途(游戏、抽奖、抽样),但不适合用于加密或安全用途。 真正的 加密级随机数生成,其不可预测性要求比通用随机数生成器需要满足的要求更严格——如需了解这种不 同的使用场景,请参阅密码生成器计算器,它专门使用了加密安全的随机源。
  • 分享链接刻意只恢复设置,而绝不会恢复实际生成的数字。 这是一个刻意的设计选择,而不是一 种局限——每次重新生成新的数字正是随机数生成器存在的全部意义,因此链接的作用是让别人用同样 的设置运行一次,而不是看到相同的结果。

常见错误

  • 期望分享链接能重现别人得到的完全相同的数字。 如上所述,链接只会恢复设置——数字本身按 设计每次都会重新生成。
  • 将此用于生成密码或加密密钥等对安全性敏感的用途。 此计算器的随机性适合游戏、抽奖和抽 样,但并非加密安全的——这类用途应改用专为此目的构建的工具。
  • 假设少量随机数看起来会均匀分布。 真正的随机性只保证每次抽取的概率相等,并不保证少数 几个数字呈现出看似平滑的分布——短序列中出现聚集是正常现象,并不代表生成器出了问题。

需要了解的其他信息

  • 需要的是像密码这样的加密安全随机字符串?密码生成器 使用专为此目的构建的安全随机源。
  • 想掷虚拟骰子而不是从自定义范围中选择?骰子模拟器 可模拟掷任意数量、任意面数的骰子。
  • 好奇某次抽取或结果的概率?概率计算器 可计算单个及组合事件的概率。

来源: 维基百科:随机数生成.

常见问题

我可以生成不重复的数字吗?

可以 -- 勾选「不重复数字」即可生成一组互不相同的数值,适用于抽取多名抽奖获奖者,或抽取彩票式号码(其中同一数字不应出现两次)。

分享链接会给别人和我一样的数字吗?

不会 -- 分享链接会恢复您的设置(最小值、最大值、数量,以及是否允许重复),这样其他人就能用相同的设置生成他们自己的数字,但每次实际生成的数字都不同,这是刻意设计的。这正是随机数生成器存在的全部意义。

这真的是随机的吗?

它使用您浏览器内置的随机数生成器,适用于日常用途,如抽取获奖者或做决定。它不是一个密码学安全的随机源,因此不应用于生成密码或加密密钥等对安全性要求较高的用途。

确认您的年龄

为了创建账户,请告诉我们您的出生月份和年份。