猫工具站
帮助中心 猫Blog 关于我们 广告合作 EN

🎲 随机数生成器

基于 crypto.getRandomValues() 加密安全随机数,支持自定义范围、数量、去重、排序和统计分析。

Advertisement

区间与数量都有明确边界

最小值默认 0,最大值默认 100,两个框本身没有硬性上下限。区间是闭区间,最大值也可能被抽到。生成数量默认 1,允许 1 到 100,填超过 100 会被压回 100,填非数字则退回默认值。

一条要注意的校验:最小值必须严格小于最大值。想让页面必定输出 7 是做不到的,填 7 和 7 会得到「最小值必须小于最大值」。区间宽度按 最大值 − 最小值 + 1 计算,它决定了去重模式下最多能出多少个数,超出时页面会拒绝并告诉你这个宽度是多少。

随机性用的是拒绝采样

每个号码都由加密级随机源产生:取出一个 32 位随机整数,再用「减去不能被区间宽度整除的那段余量」求出有效上界,落在上界之外的值直接丢弃重取。这样区间里每个整数被抽中的概率严格相等,不存在取余带来的偏好——这是它和上面骰子页面在公平性上的实质区别。

去重模式分两条路:区间宽度不超过 10000 时,先把整个区间铺成候选池再洗牌取前 N 个;超过 10000 时改用逐个抽取并记录已出现号码的方式,避免为极大区间一次性建池。

结果、统计与历史

只生成一个数时用大号字单独显示;多个数按逗号排列,并附一行「已生成 N 个随机数」。排序可选保持生成顺序、从小到大或从大到小。下方四个统计量是这组结果的最小值、最大值、平均值和总和,平均值保留两位小数,总和带千分位。

统计描述的是这一次抽出来的样本,不是区间边界:在 1 到 100 里抽 3 个数,「最大值」很可能不是 100,这属于正常波动。

历史存在浏览器本地存储里,最多 50 条,重开页面还在;每条只显示前 5 个数字,点一行可以把那组结果调回来,清空历史有二次确认。

常见问题

能拿它做彩票、抽签或者分组决定吗?
可以,这是站内最适合做等概率抽取的一页。每个号码走加密级随机源加拒绝采样,区间内概率严格均等,没有固定面数那种取余偏差。

为什么不能把上下限设成同一个数?
校验要求最小值严格小于最大值,所以抽不出「固定某个数」。只想在两者之间做五五开时,把区间放宽一格(例如 6 到 7 抽一次)即可。

两个框空着会用什么值?
空值和非数字被替换成默认值:最小值当 0、最大值当 100、数量当 1,不报错也不拒绝生成。

一次最多能要多少个?
数量上限 100,超过自动压到 100。开了去重时实际能出多少还取决于区间宽度,超出会得到「去重模式下,生成数量不能超过范围大小(N 个)」并写明 N。

统计里的最小值是我设的下限吗?
不是。四个统计量算的是这一批随机数的结果,跟填的区间边界无关。样本量小时往往碰不到区间两端,这是正常现象,不是取值范围被截窄了。

关掉浏览器历史记录还在吗?
在。历史写入浏览器本地存储,上限 50 条,除非你主动清空或清除站点数据。生成的随机数本身不做任何记录,也不会上传。