什么是手镯排列?
手镯排列(数珠排列,日语中称作"数珠順列 juzu junretsu")计算的是把 n 个不同的物体排成一圈时,有多少种本质上不同的排法。这里的关键在于:如果一种排法可以通过旋转这一圈,或者把整条"手镯"翻面(即镜像翻转)后变成另一种排法,那么这两种排法就被视为同一种。这与环形排列(圆排列,"円順列 en junretsu")不同——圆排列只把旋转视为相同,并不考虑翻转。手镯排列是组合数学中的通用结论,其公式在世界各地都一样。
如何使用本计算器
输入 \(n\) 的起始值和结束值(每个都在 1 到 100 之间),选择显示精度(有效数字位数),工具就会为该范围内的每一个整数 \(n\) 输出一行,并给出对应的手镯排列数。由于这个数值会随阶乘急剧增长,较大的结果会按你设定的有效数字位数四舍五入后以科学计数法显示,而能够精确表示的较小数值则会完整呈现。
公式解析
先从 \(n\) 个不同物体的全部 \(n!\) 种直线排列入手。当把它们排成一圈时,任意一种排法旋转 \(n\) 次都得到相同的圈,因此除以 \(n\) 得到圆排列:\(n!/n = (n-1)!\)。而手镯还可以翻面,每一种排法都与它的镜像配成一对,于是再除以 2,得到手镯排列数为
$$N(n) = \dfrac{(n-1)!}{2}, \quad n = \text{Start } n \;\ldots\; \text{End } n$$当 \(n = 1\) 或 \(n = 2\) 时,这个公式算出来不是整数,因此按惯例规定它们各自恰好对应 1 种排法。
实例演算
以 \(n = 3\) 到 \(8\) 这一范围为例:\(n=3\) 时 \((3-1)!/2 = 2/2 = 1\);\(n=4\) 时 \(6/2 = 3\);\(n=5\) 时 \(24/2 = 12\);\(n=6\) 时 \(120/2 = 60\);\(n=7\) 时 \(720/2 = 360\);\(n=8\) 时 \(5040/2 = 2520\)。在默认范围的上限处,\(n=30\) 时 $$29!/2 = 4{,}420{,}880{,}996{,}869{,}850{,}977{,}271{,}808{,}000{,}000 \approx 4.42 \times 10^{30}.$$
常见问题
为什么要除以 2?这个 2 用来消除翻转(镜像)对称性:手镯翻面后看起来是一样的,因此同一种循环顺序的顺时针版本和逆时针版本只算作一种。
为什么 n=1 和 n=2 是特例?通用公式对这两种情形都算出 0.5,而排法数不可能是小数;从几何上看,排列一个或两个物体都只有唯一一种方式,所以我们记为 1。
它与圆排列有什么区别?圆排列只把旋转视为相同,结果等于 \((n-1)!\);手镯排列在此基础上还允许翻转,当 \(n \ge 3\) 时结果等于 \((n-1)!/2\)。