按位运算大法!!
1 #include<iostream> 2 using namespace std; 3 4 int a[100]; 5 int n; 6 void subset(){ 7 for(int i=1;i<=(1<<n);i++){ 8 for(int j=0;j<n;j++){ 9 if(i&(1<<j)){ //按位与,左位移 10 cout<<a[j]<<" "; 11 } 12 } 13 cout<<endl; 14 } 15 } 16 17 int main(){ 18 while(cin>>n){ 19 for(int i=0;i<n;i++){ 20 cin>>a[i]; 21 } 22 subset(); 23 } 24 }