通过MCP连接 →

输入计算

数学公式

广告

结果

第一类斯特林数 s(n,k)
-50
带符号数值
n 5
k 2

什么是第一类斯特林数?

带符号的第一类斯特林数记作 \(s(n,k)\),它是把下降阶乘 \(x(x-1)(x-2)\cdots(x-n+1)\) 展开成 \(x\) 的普通幂时所对应的各项系数。它们的绝对值 \(c(n,k) = |s(n,k)|\) 表示:将 \(n\) 个元素的全排列恰好分解为 \(k\) 个不相交循环(轮换)的方案数。两者之间通过符号公式 $$s(n,k) = (-1)^{n-k}\, c(n,k)$$ 相互关联。本计算器返回的是带符号的数值,与下降阶乘系数的约定保持一致。

使用方法

输入两个非负整数:\(n\)(规模参数)和 \(k\)(循环个数,也即幂指数)。点击计算,工具便会返回 \(s(n,k)\)。需要注意几条特殊规则:当 \(k\) 大于 \(n\) 时,结果为 0;\(s(n,n)\) 恒等于 1;按照定义,\(s(0,0)\) 也等于 1。

公式详解

我们借助一张小型的动态规划表,利用递推关系 $$s(n+1,k) = s(n,k-1) - n\cdot s(n,k)$$ 来逐步求解,初始条件为 \(s(0,0)=1\),并规定当 \(n>0\) 时 \(s(n,0)=0\),当 \(k>0\) 时 \(s(0,k)=0\)。每一行都由上一行推算得到,因此无需庞大的查询表。递推式中的负号项,正是导致结果正负交替的根本原因。

Advertisement
展示 s(n+1,k) 由 s(n,k-1) 和 s(n,k) 构成的递推图
递推关系用上一行的两个值构建每个斯特林数。

计算示例

计算 \(s(5,2)\)。第 5 行无符号的循环计数依次为 \(c(5,1)=24\)、\(c(5,2)=50\)、\(c(5,3)=35\)、\(c(5,4)=10\)、\(c(5,5)=1\)。其符号为 \((-1)^{5-2} = -1\),因此 \(s(5,2) = -50\)。验证一下:$$x(x-1)(x-2)(x-3)(x-4) = x^5 - 10x^4 + 35x^3 - 50x^2 + 24x,$$ 其中 \(x^2\) 的系数确实是 \(-50\)。

带符号第一类斯特林数的三角形表格,其中一个元素被高亮显示
排成三角形后,每个元素都由其上方的两个单元格计算得出。

常见问题

为什么结果会是负数?因为这是带符号的版本;下降阶乘中 \(x^k\) 的系数会按照 \((-1)^{n-k}\) 的规律正负交替。

如何得到无符号的循环计数?取绝对值即可:\(c(n,k) = |s(n,k)|\)。

同一行所有无符号值之和是多少?对某一行所有 \(k\) 求和,\(c(n,k)\) 之和等于 \(n!\)(\(n\) 的阶乘)。

最后更新: