字集打印0.0

来源:互联网 发布:金融网络销售工作内容 编辑:程序博客网 时间:2024/06/06 09:51
#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