C环境及递归算法
问题描述:n个元素的集合{1, 2, 3, …, 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}}