#include<iostream>
#include<cstring>
using namespace std;
const int maxn = 100;
int Num[maxn];
int tmp[maxn];
void Subset_1(int n,int *A,int cur) { ///可以按照排列的类似写法撸出随意集合的字集0.0
for(int i = 0; i < cur; ++i) cout << A[i] << " ";
cout << endl;
int s = cur ? A[cur-1] +1 : 0;
for(int i = s; i < n; ++i) {
A[cur] = i;
Subset_1(n,A,cur+1);
}
}
void Subset_2(int n,int *B,int cur) {
if(cur == n) {
for(int i = 0; i < n; ++i) if(B[i]) cout << i << " ";
cout << endl;
return ;
}
B[cur] = 1; Subset_2(n,B,cur+1);
B[cur] = 0; Subset_2(n,B,cur+1);
}
void Subset_3(int n) {
for(int i = 0; i < (1<<n); ++i)
{
for(int j = 0; j < n; ++j)
if(i & (1<<j)) cout << j << " ";
cout << endl;
}
}
int main() {
//Subset_1(3,Num,0);
//Subset_2(3,Num,0);
Subset_3(3);
}
字集打印0.0
最新推荐文章于 2022-06-19 13:57:26 发布