2-11 集合划分问题(第2类Stirling数)
问题描述
n个元素的集合{1,2,.,n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15个不同的非空子集如下:
{1},{2},{3},{4}}, {
{1,2},{3},{4}},
{
{1,3},{2},{4}}, {
{1,4},{2},{3}},
{
{2,3},{1},{4}}, {
{2,4},{1},{3}},
{
{3,4},{1},{2}}, {
{1,2},{3,4}},
{
{1,3},{2,4}}, {
{1,4},{2,3}},
{
{1,2,3},{4}}, {
{1,2,4},{3}},
{
{1,3,4},{2}}, {
{2,3,4},{1}},
{
{1,2,3,4}}
其中,集合{
{1,2,3,4}} 由1个子集组成;集合{
{1,2},{3,4}},{
{1,3},{2,4}},{
{1,4},{2,3}},{
{1,2,3},{4}},{
{1,2,4},{3}},{
{1,3,4},{2}},{
{2,3,4},{1}} 由2个子集组成;集合{
{1,2},{3},{4}},{
{1,3},{2},{4}},{
{1,4}.{2},{3}},{
{2,3},{1},{4}},{
{2,4},{1},{3}},{
{3,4},{1},{2}} 由3 个子集组成;集合{
{1},{2},{3},{4}} 由4个子集组成。
编程任务:
给定正整数n 和m,计算出n 个元素的集合{1,2,., n }可以划分为多少个不同的由m个非空子集组成的集合。
分析
第二类Stirling数问题 参考集合划分问题(