使用方法(3步)
- 选择类型(S、s、c 或 Bell)并设置 nMax。
- 选择精确值或模数模式,并按需输入模数。
- 点击单元格以读取其含义,然后导出或共享表格。
定义与递推
- S(n,k) ({ n \ k }) 将 n 个标记元素划分为 k 个非空块。递归:S(n,k)=S(n-1,k-1)+kS(n-1,k)。
- c(n,k) ([ n \ k ]) 计算 k 个周期的排列。递归:c(n,k)=c(n-1,k-1)+(n-1)c(n-1,k)。
- s(n,k) 是满足 s(n,k)=(-1)^{n-k}c(n,k) 的带符号版本。
- 贝尔数 是行和:B(n)=Σ S(n,k)。
- 贝尔递推:B(n+1)=ΣC(n,k)B(k)。
示例值
- S(5,2)=15(两个非空块)。
- c(4,2)=11(4 个元素的排列,2 个循环)。
- Bell(5)=52(5 个元素的全部集合划分)。
常见问题解答
什么是第二类斯特林数?
S(n,k) 计算将 n 个标记元素划分为 k 个非空子集的方法数量。
什么是第一类斯特林数?有符号与无符号有什么区别?
c(n,k) 计算具有 k 个循环的 n 个元素的排列。带符号版本 s(n,k) 应用符号 (-1)^{n-k}。
贝尔数与斯特林数有何关系?
贝尔数满足B(n)=Σ S(n,k),因此每个贝尔数就是第二类表的行和。
为什么要使用模数模式?
精确值增长很快;模模式使数字保持较小,以进行编程竞赛和算法检查。
为什么nMax有限制?
精确值变得巨大,而且大表的渲染成本很高,因此计算器会限制 nMax 以保持稳定性。
我可以导出表格吗?
是的。使用 CSV 或 TSV 导出按钮下载完整表格。