#include<iostream>
using namespace std;
void print_subset(int n, int s) //打印{0,1....n-1}的子集S
{
static int count = 1;
cout << "第"<<count++<<"个子集是: ";
for(int i = 0; i < n; i++)
{
if(s&(1<<i))
cout << i <<' ';
}
cout << endl;
}
int main()
{
int n;
cout << "请输入一个整数: ";
cin >> n;
cout << n << "的自己如下: \n";
for(int i = 0; i < (1<<n); i++)
{
print_subset(n,i);
}
using namespace std;
void print_subset(int n, int s) //打印{0,1....n-1}的子集S
{
static int count = 1;
cout << "第"<<count++<<"个子集是: ";
for(int i = 0; i < n; i++)
{
if(s&(1<<i))
cout << i <<' ';
}
cout << endl;
}
int main()
{
int n;
cout << "请输入一个整数: ";
cin >> n;
cout << n << "的自己如下: \n";
for(int i = 0; i < (1<<n); i++)
{
print_subset(n,i);
}
}