暴力枚举之求子集
求子集
编写程序,输入n个整数,求出它们的非空子集(组合数)
例如,n=3,分别为1,2,3三个整数,子集如下
1
2
3
1,2
2,3
1,3
1,2,3
解答:
void sub_set(int n, int* number){
int max = (1<<n)-1;
for(int i=1;i<=max;i++){
for(int j=0;j<n;j++){
if(((1<<j)&i)){ //切记不要写结果==1;这个是左移运算符而不是右移运算符!!!
printf("%d",number[j]);
}
}
printf("\n");
}
}
链表之逆转链表
下一篇