用二进制来表示{0,1,2……n-1}的子集S,
#include "stdio.h"
#include<stdlib.h>
void print_subset(int n,int s)
{
for(int i=0;i<n;i++)
if(s&(1<<i))printf("%d ",i);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<(1<<n);i++)
print_subset(n,i);
system("pause");
return 0;
}