该系列blog介绍的算法,全部在MathPower 类中进行实现;
// @10 子集枚举 0~n-1
public void Print_Subset(int n,int s)
{
for(int i = 0;i<n;i++)
{
if((s&(1<<i))!=0)
System.out.print(i);
}
System.out.print('\n');
}
public void Subset(int n)//生成 0 ~ n-1 的子集
{
for(int i=0;i<(1<<n);i++)
{
Print_Subset(n,i);
}
}
测试代码:
public class Text {
static MathPower M = new MathPower();
public static void main(String args[])
{
M.Subset(4);
}
}
运行结果
0
1
01
2
02
12
012
3
03
13
013
23
023
123
0123