算法(n个元素组成集合的子集)

static void Main(string[] args) {
int [] a = { 1, 2, 3 };
int i, j, k;
int t = 1 << 3; // 2^3 = 8; 共有8个子集,循环八次;t = 8;
for (i = 0; i < t; i++)
{
j = i;
k = 0;

Console.Write("{");
while (j != 0)
{
int p = j & 1;
if (p!=0)
{
Console.Write(a[k]);
}
j >>= 1;
Console.Write(j);
++k;
}
Console.Write("}");
}

Console.ReadLine();

}

}

原文地址:https://www.cnblogs.com/DOGame/p/8713963.html