java 枚举子集算法

该系列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

猜你喜欢

转载自blog.csdn.net/qq_35821988/article/details/78888498