查找问题

[复制链接]
1368|3
 楼主| sinadz 发表于 2012-9-26 23:00 | 显示全部楼层 |阅读模式
所有的m位(二进制)数中找出n个数,使得任意2个数至少有k位不同。
对于给定的m,k(m>=k)求n的最大值?
txcy 发表于 2012-9-26 23:31 | 显示全部楼层
这个编程序难度也许不大,不过证明似乎有些麻烦
建立一个临时数组,先加入0,然后从0开始顺序循环到2^m,如果这个数和每个临时数组里面的数都满足有k位不同则将该数加入临时数组,最后统计临时数组数目即可
火箭球迷 发表于 2012-9-26 23:39 | 显示全部楼层
如果只要最后结果,应该就是c(m,0)+c(m,k)+c(m,2*k)....c(m,n*k),其中n*k <=m && (n+1)*k >m
最终就是一个求组合数的问题
firstblood 发表于 2012-9-28 14:52 | 显示全部楼层
跟楼上各位学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部