又是算法

creso 2012-03-29 03:30:05
有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生命都会在一星期之后死亡。现在你只有10只小白鼠和1个星期的时间,如何检验出哪个瓶子有毒药?
这个用hash算法应该可以解,求给力答案
...全文
214 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
creso 2012-03-29
  • 打赏
  • 举报
回复
不错,如果有代码就更好了,散分了
engourdi 2012-03-29
  • 打赏
  • 举报
回复
1000化成二进制是1111101000 10位
把1000个瓶子编号和10只老鼠编号
把1000个数都化成二进制的
1是1 就把1号瓶子的水给1号位老鼠
2是10 就把2号瓶子的水给2号位老鼠
……
10是1010 就把10号瓶子的水给4号和2号老鼠
……
以此类推……
最后把对应位置上的老鼠死的做1没死的做0变成二进制数化成十进制数,就是该瓶号是毒药。
fyswords 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 2 楼 的回复:

见过这道题

一种答案:将瓶子编号后转化成二进制码,如127与0001111111唯一对应,则把127瓶子的水给第4-10只老鼠喝。最后看哪些老鼠死了得出对应的二进制数码转化成原来瓶子编号就好。

强悍的
[/Quote]
第9和第10只老鼠要喝500口,是撑死的
maliang18 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

见过这道题

一种答案:将瓶子编号后转化成二进制码,如127与0001111111唯一对应,则把127瓶子的水给第4-10只老鼠喝。最后看哪些老鼠死了得出对应的二进制数码转化成原来瓶子编号就好。
[/Quote]
强悍的
maliang18 2012-03-29
  • 打赏
  • 举报
回复
貌似不可能。不过如果只是瓶子不一样,毒药有颜色,可以目测。
fyswords 2012-03-29
  • 打赏
  • 举报
回复
见过这道题

一种答案:将瓶子编号后转化成二进制码,如127与0001111111唯一对应,则把127瓶子的水给第4-10只老鼠喝。最后看哪些老鼠死了得出对应的二进制数码转化成原来瓶子编号就好。
wccwccwcw 2012-03-29
  • 打赏
  • 举报
回复
这个可能么?

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧