算法:五桶球,一桶不正常

原文:http://blog.sina.com.cn/s/blog_798f21a00100xoz2.html

 

 五桶球,一桶不正常,不知道球的重量和轻重关系,用天平称一次找出那桶不正常的球。 天平只能用一次。


      5个桶依次编号1,2,3,4,5

方法一:      依次从编号好的前4个桶拿出5,7,11,13个球
      5+13=7+11 放天平左右
     if(天平平衡)
         第五个坏的
     if(不平衡)
         用游标+砝码把天平弄平
         看游标+砝码的总和(以最小刻度为标准)是5,7,11,13谁的倍数,哪个桶的球就是坏的
     
确保实验的正确性 可以找4个更大且满足条件的质数
 
方法二:

首先假定只要不把球从天平拿下来就还算一次,另外每个桶内的球是一样的:

 

  1. 从1 号和2 号桶各拿一个,放上天平(1 号左,2 号右),如果平衡,说明这两桶球都是正常的,可以做为砝码。如果不平衡,那么1 号和2 号桶必有一个不正常,而其他3 ,4 ,5 桶是正常的,可以作为砝码。
  2. 首先考虑1 号2 号桶不平衡的情况,这时从1 号和3 号桶再各拿一个球,放上天平(1 号右,3 号左),如果这时平衡了,说明1 号桶是不正常的,如果还是不平衡,那么2 号桶是不正常的。
  3. 如果第一步1 号2 号桶是平衡的,那么也好办,把3 ,4 号桶各拿一个放上天平(3 号左,4 号右),这时如果还是平衡的,那么5 号桶必然是不正常的。如果不平衡,说明不正常的就在3 ,4 号桶之中。我们再用2 )的方法找出来即可。
如果球的个数有限制的话,还是方法二稍微好一点

 

 

posted @ 2015-07-11 18:09  妮妮1018  阅读(458)  评论(0编辑  收藏  举报