集合划分问题(一)
Input
多组输入数据,每组数据1行,表示元素个数n.
Output
对于每组数据,输出一行一个数,表示不同的非空子集的个数。
Sample Input
24
Sample Output
215
``
import java.io.;
/
-
分析:
-
考虑3个元素的集合,可划分为
-
① 1个子集的集合:{ {1,2,3}}
-
② 2个子集的集合:{ {1,2},{3}},{ {1,3},{2}},{ {2,3},{1}}
-
③ 3个子集的集合:{ {1},{2},{3}}
-
∴F(3,1)=1;F(3,2)=3;F(3,3)=1;
-
如果要求F(4,2)该怎么办呢?
-
A.往①里添一个元素{4},得到{ {1,2,3},{4}}
-
B.往②里的任意一个子集添一个4,得到
-
{ {1,2,4},{3}},{ {1,2},{3,4}},
- <