您的位置:首页 > 其它

91 1.一道著名的毒酒问题 2.有趣的石头问题

2014-10-25 17:29 337 查看
91

1.一道著名的毒酒问题

有 1000 桶酒,其中 1 桶有毒。而一旦吃了,毒性会在 1 周后发作。现在我们用小老鼠做

实验,要在 1 周内找出那桶毒酒,问最少需要多少老鼠。

2.有趣的石头问题

有一堆 1 万个石头和 1 万个木头,对于每个石头都有 1 个木头和它重量一样,

把配对的石头和木头找出来。

/*
91 1.一道著名的毒酒问题
有1000桶酒,其中 1  桶有毒。而一旦吃了,毒性会在 1  周后发作。现在我们用小老鼠做
实验,要在1周内找出那桶毒酒,问最少需要多少老鼠。

每只老鼠 不是死就是活 可以用二进制表示不是1就是0 
因为1000个桶 要10位2进制位表示 2^10=1024  
把十只老鼠按二进制数标上顺序,
第一桶给第一只      1
第二桶给第二只      10
第三桶给第一、二只  11
第四桶给第三只      100
第五桶给第一、三只  101
第一千桶给第四、六、七、八、九、十只  1111 1010  00
最后看死了哪几只,再查查这几只同时吃了哪一桶,都没吃哪几桶,就知道哪桶有毒
*/


/*
91 2.有趣的石头问题
有一堆 1  万个石头和 1  万个木头,对于每个石头都有 1  个木头和它重量一样,
把配对的石头和木头找出来。

1:用快速排序 然后一一匹配

看到一个好玩的: 

	(1)可以对木头和石头分别排序,然后一一对应配对;
	(2)选一个石头,在木头中寻找配对,依次类推;
	(3)结合以上两个办法,对木头排序,然后取一个石头,匹配对应木头(木头已排序,不需要搜索直接配对);
	
    	排序方法如下:
   			 把木头扔到水里,根据吃水深度排序;
			 把石头从等高的足够光滑的斜坡滑下,根据水平滑动距离排序,然后二者一一对应。
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: