随机数生成器

设好区间,填上需要几个数字,按一下按钮。做抽奖时打开「不重复」,同一个数字就不会出现两次。

快捷

数字来自浏览器的加密随机源,落在区间尾部的取值会被丢弃而不是回折 — 否则靠前的数字会略微多出现一些,而这正好毁掉一次抽奖。

使用方法

  1. 输入区间,或者直接用现成的:1–10、1–100、49 选 6。
  2. 填写要抽几个数字,以及是否允许重复。
  3. 点「抽取」— 数字会以大号显示,方便念出来。
  4. 其他标签页里是骰子、硬币和名单抽取。

实用说明

为什么不用 Math.random

浏览器里那个常用的随机函数速度快、原理上可预测,而且从来就不是为决定结果准备的。这里的数字来自加密随机源 — 生成加密密钥的同一个源。玩游戏无所谓,但对抽奖来说,这就是「真抽」和「看起来像抽」的区别。

被丢弃的尾巴

对随机数取余是落进区间的经典做法,而只要区间除不尽,它就会悄悄偏向靠前的数值。一千次抽取里偏差不到一个百分点 — 恰好是没人察觉、事后也没法解释的那种。这里落在尾部的取值会被丢掉并重新抽一次。

常见问题

可以用来抽奖吗?

可以,而且应当打开「不重复」:每个参与者编号最多出现一次。抽的时候录屏 — 这是向观众证明没有反复重抽直到满意的常规做法。

一次最多能抽多少个?

允许重复时最多一千个;不重复时最多等于区间大小:从 5 个数里要 10 个不重复的数是不可能的,所以结果会被截到 5 个,而不是一直空转。

所有人抽到的数字一样吗?

不一样。每次抽取都在你的设备上用全新的随机源完成,也没有可以共享的种子。两个人在同一秒按下按钮,得到的数字也不同。

区间可以是负数吗?

可以,两端都接受负值,而且填写顺序无所谓 — 较小的那个总会被当作下界。

相关工具