求N个数组成集合的子集
public static void getSubset(int set[]) throws IOException
{
FileWriter writer = new FileWriter(new File("src/Result2.txt"));
int length=set.length;//元素个数
int num=(2<<set.length-1)-1;//非空子集个数
for(int i=1;i<=num;i++)
{
System.out.print("[");
int now=i; //暂存正在判断第i种可能
for(int j=0;j<=length-1;j++)
{
if((now&1)==1) //为1时表示该元素已经存在
{
System.out.print(set[j]);
writer.write("" + set[j] + " ");
}
now=now>>1; //依次判断下一位
}
writer.write("\r\n");
System.out.print("]");
}
System.out.println(num);
writer.close();
}
邮箱:wangh_2@sina.com
浙公网安备 33010602011771号