子集生成-二进制法


 
  
/*算法思想 
	例如求4个元素 3 2 1 0 的子集。
	那么用二进制的1代表每一位是否选中。
十进制	二进制 
0	 	0000  代表空集
1	 	0001  代表{0}
2	 	0010  代表{1}
3	 	0011  代表{0,1}
4	 	0100  代表{2}
		 ...
15	 	1110  代表{3,2,1}
16	 	1111  代表{3,2,1,0} 

如果n很大的话可以用字符串模拟二进制 
*/
# include 
# include 
using namespace std;
//二进制法求子集 
void print_subset(int n,int s){
	for(int i=0;i


你可能感兴趣的:(ACMer养成)