1000个人 有一个人患有非典 如何用最少的检测试剂检测出这个人?

题目要求:不准交叉感染

提示:二分算法

 

 

没什么最好算法吧。1000个人毫无关联。只能按顺序检查。最少检测一次,最多检测999次

归并算法,10个人一组混合检测,有,则继续分组,直到最后那个患者

10个试剂就行, 1000个人按2进制编号00 0000 0000 ~ 11 1110 1000, 按位对齐, 每一位对应一个试剂, 一个人可以测多份试剂, 一份试剂也可以同时测试多人

你自己都提示二分法了啊,2的10次方就可以覆盖1024人了,所以10个试剂就行了。你是想要代码吗?