二进制枚举的实现
2017-07-27 21:03
204 查看
二进制枚举
…………..//二进制枚举 void print_subset(int n,int s){ for(int i=0;i<n;i++){ if(s&(1<<i)){ printf("%d"\n,i); } } } for(int i=0;i<=(1<<n);i++){ print_subset(n,i); } //二进制枚举 //n:集合1到n s:第s种个集合 //'&' 1 & 1 = 1 如:第二个集合 s=3/(011) 当i==0时 (1<<0)=001 // 这时 (011)&(001)=001 0被选中 // 当i==1时 (1<<1)=010 (011)&(010)=010 1被选中 // 所以s=3/(001) 集合为 0.1 //1<<n==2的n次方 代表有多少子集 // 举例当n=3时i--》000 001 010 011 100 101 110 111 //print_subset中的s 空 0 1 0,1 2 0,2 1,2 0,1,2
相关文章推荐
- c# 二进制或算法实现枚举的HasFlag函数
- c# 二进制或算法实现枚举的HasFlag函数
- 使用枚举结合二进制字符串实现的权限判断
- 枚举 编程题#1: 画家问题(Coursera 程序设计与算法 专项课程4;枚举方法:用二进制依次加1的进位方法模拟实现)
- [转载]巧用二进制实现0/1状态的枚举
- 二进制枚举子集(计蒜客)
- 实现从sql server存取二进制图片
- java中枚举的实现原理
- hdu 4628 Pieces (状态压缩+二进制枚举+dp)
- 枚举所有IE窗口,实现自动登录
- java:实现字符串到二进制字符、16进制字符、unicode字符、base64字符之间的转换
- JAVA实现二进制,十六进制输出
- 线性表的应用5(单链表实现二进制的加法)
- 二进制实现权限的分配管理
- C++和python利用struct结构传输二进制数据实现
- 如何实现翻转一串二进制代码:
- 机器学习之递归神经网络RNN实现二进制加法
- 黑马程序员——枚举的原理及枚举构造方法调用,抽象方法实现等等介绍
- hdu1796(二进制枚举)
- python学习笔记:利用__getattr__属性实现枚举Enum