什么是随机数字与字母组合生成器?
这款工具会在你设定的范围内随机抽取一个或多个项目,组成一组结果。范围既可以是数字(如 1-100),也可以是字母(如 a-j)。无论是随机抽样、抽签、生成PIN码、抽取测验题目、分组排队,还是任何需要从已知集合中公平随机挑选的场景,它都能轻松胜任。
使用方法
先填写抽取数量(你想要多少个项目),再以"起始值-结束值"的格式输入抽取范围。接着选择是否允许重复(即有放回抽样),以及是否在各项之间添加逗号。点击计算,即可得到一组顺序随机的全新结果。
当范围两端都是整数时,工具会以数字模式运行;当两端都是单个字母时,则切换到字母模式,并保留首字母的大小写形式。
公式与算法
候选总体涵盖了闭区间内的每一个值:对数字而言,是从下限到上限的所有整数,共计 上限 - 下限 + 1 个值;对字母而言,则是从较小字符编码到较大字符编码之间的每一个字符。每个项目都通过
$$\text{index} = \lfloor \text{random} \times \text{剩余数量} \rfloor$$进行等概率抽取。在不允许重复的情况下,工具会先对整个总体进行洗牌(Fisher-Yates 算法),再取出前 \(N\) 个,因此每个结果都各不相同。而允许重复时,每次抽取相互独立,结果可能出现重复。
$$\text{Draw} = \text{Sample Size} \ \text{items from a population of size } N$$ $$\text{where}\quad \left\{ \begin{aligned} N &= |\,\text{high} - \text{low}\,| + 1 \\ [\text{low},\text{high}] &= \text{Sample Range} \end{aligned} \right.$$
实例演示
抽取数量为 5,范围 1-100,不允许重复,不添加逗号。此时总体为 1 到 100 的整数(共 100 个值)。五次互不相同的等概率抽取,结果可能是:48 50 62 18 10。如果开启逗号分隔,同样的结果就会显示为 48, 50, 62, 18, 10。
常见问题
如果我要的数量超过了范围内的项目总数怎么办? 在关闭重复的情况下,结果数量会受范围限制。例如想从 0-9 中抽取 12 个互不相同的数字,最终只会返回 10 个。
结果会排序吗? 不会。各项会按照抽取时的随机顺序显示。
如何生成一个 4 位 PIN 码? 将抽取数量设为 4,范围设为 0-9。若要四个互不相同的数字,选择不允许重复;若允许数字重复出现,则选择允许重复。