子集生成

来源:互联网 发布:孢子mac中文版下载 编辑:程序博客网 时间:2024/06/05 17:17

生成{0,1,2,3}的子集的简便方法:

#include <cstdio>void print_subset(int n,int s){    for(int i=0;i<n;i++)        if(s&(1<<i)) printf("%d ",i);    printf("\n");}int main(){    int n=4;    for(int i=0;i<(1<<n);i++)        print_subset(n,i);    return 0;}