基于二进制的求子集算法
来源:互联网 发布:c语言递归求最大公约数 编辑:程序博客网 时间:2024/05/01 14:33
#include<iostream.h>
#include <stdlib.h>
int getones(int n) //取得数n二进制表示的1的个数
{
int count = 0;
while(n)
{
if(n&1)count++;
n >>= 1;
}
return count;
}
void comb(int d[],int m,int n){ //n为元素总数,m为要取的元素个数
int i,j,total = 1<<n; //total=2^n,正好是n个元素的所有真子集的个数
for(i = 0; i < total;i++)
{
if(m == getones(i))
{
cout<<"{";
for(j = 0; j < n; j++)
{
if( i & (1<<j))cout<<" "<<d[j]<<" "; //对应位为1则输出
}
cout<<"}"<<endl;
}
}
}
void main(void)
{
int a[10];
for(int i = 0; i <10; i++)
{a[i] = rand()%30;
cout<<a[i]<<'/t';
}
cout<<endl;
comb(a,3,10); //输出10个数中取3个数的子集
}
- 基于二进制的求子集算法
- 子集的二进制算法
- 求子集的算法
- 二进制法求子集的原理(来自基于二进制的集合运算研究)
- 二进制求子集
- 求集合子集的算法
- 子集算法(PHP): 求一个非空集合的子集
- 求集合的所有子集的算法
- 求集合的所有子集的算法
- 求一个集合的所有子集(二进制实现)
- java求集合的子集算法
- 求一组数的全部子集算法
- 求一个二进制数的(二进制表示)的所有子集
- 求集合的子集
- 求集合的子集
- 求集合的子集
- 求集合的子集
- 求集合的子集
- C#编辑MySQL数据库
- TopCoder arena plugin
- submit与button的区别
- guid介绍
- 我在QQ上偷偷望你(转)
- 基于二进制的求子集算法
- MYECLIPSE 开发Web Service之详细讲解--第三节
- 常见.Net 英文专业词汇
- 博君一乐
- iptables 小练
- Oracle SQL 性能优化技巧
- 转换加密的WMV文件让所其它播放器可以放
- 空之战1
- WEB标准简介