四个球,有一个球是 坏的,不知轻重,还有任意多好球,问,一次能不能分出这四个球中的坏球??
解决方案 »
- ssh 请高手帮忙发个extjs tree实例呀 要带数据库的
- hibernate 多对多 检索条件怎么写
- 请问一些ruby的问题
- 一简单javascript脚本问题,不过急用!!!
- struts框架中单选按钮的应用
- 有关Tomcat
- xml数据处理问题!!(在线等!)急!
- 求救 weblogic!!
- 100分跪求STRUTS下,checkbox的validate验证方法(求代码),不够再加
- weblogic7+sqlserver2000+win2kAS+ejb2.0开发b/s结构程序时,weblogic报错如下:
- java.lang.NegativeArraySizeException 异常如何解决
- FTP同步备份问题
分成444…标号为123…如果12质量一样,那么所求就在3里,如果质量不同,那么就在1或2里。如果在3里的话,将其分为两份,编号为ab,将a和两个正常的球称,相等则不正常的在b,不相等则在a,那么只剩下两个球了,将其中一个与一个好球称,不相等则这个球就是坏的,相等则另一个是坏的…
再回到第一次称,如果12组不相等,则坏的肯定在它们中,编号为1到8。因为称过一次了,所以1234<5678。在将1256和3478放天平两边,假如得到1256<3478,那么坏的肯定在12里,这样就用两次讲坏球确定在两个里了…下面就不用说了吧…手机打字好麻烦…
分成444…标号为123…如果12质量一样,那么所求就在3里,如果质量不同,那么就在1或2里。如果在3里的话,将其分为两份,编号为ab,将a和两个正常的球称,相等则不正常的在b,不相等则在a,那么只剩下两个球了,将其中一个与一个好球称,不相等则这个球就是坏的,相等则另一个是坏的…
再回到第一次称,如果12组不相等,则坏的肯定在它们中,编号为1到8。因为称过一次了,所以1234<5678。在将1256和3478放天平两边,假如得到1256<3478,那么坏的肯定在12里,这样就用两次讲坏球确定在两个里了…下面就不用说了吧…手机打字好麻烦…
3次是可以的。
具体实现看我的博客文章:http://blog.csdn.net/cuseventeen/article/details/7017145
你们都看哪去了啊?http://blog.csdn.net/cuseventeen/article/details/7017145
貌似是这么回事1. 分3组,任取两组称。
2. 若两边等重,则异常球在其余一组中,很容易就能找出异常球。3. 若两组不等重,假设A组重,B组轻。从
A组取两个、B组取一个为甲组;取A组一个、B组1个,正常球一个为乙组,进行称重。
1.1 平衡
则坏得肯定在剩下的4个里面,4个用两次是可以判断出来的,这个没问题,复杂的是不平衡的时候
1.2 不平衡则转22.坏球在这8个里面,把刚才轻的那边全部标记为Light,记为l,重的标记为weight,记为w,剩下的四个是标准的,记为s。然后天平左端放两个l一个w,右端放一个l,一个w,一个s
2.1 平衡
则坏得在剩下的两个w和一个l中,这个一次就可以找出来,即一边一个w,平衡不用说,不平衡的话则轻的那一边肯定是坏的(正好3次)
2.2 不平衡
2.2.1 左重
则可以确定坏的在左边的w或右边的l 这个一次搞定没问题 (3次) 2.2.2 右重
则可以确定坏的在左边的两个l或右边的w中,方法同2.1类似(3次)
如果是个算法吧 在不加外界条件的情况下可以解决的 只不过算法有好有坏 能实现就OK ,OK 俺不考虑这个脑筋急转弯了--
法:先分成3堆(4,4,4),记做A组,B组,C组对A组和B组进行测量若A,B一样重,则问题出在C组,我们从A组中找出3个和C组中找出3个进行称,如果平衡则坏的就是C组剩下的那个了若不平衡,那问题就出在C组的3个中,我们需要观察刚才A3个和C3个称时是C重还是A重,然后我们在这C3个中取出两个进行称,再根据刚才的A3 和C3的轻重判断出哪个是坏的了。若A。B不一样重,那么坏球就存在于A.B组中。我们观察A4和B4哪边重,然后从A组中拿出2个,放在一边,从B组中拿出2个放到A2那边,然后从C组中拿出2个放在B2那边,此时观察天平的方向,若天平是平的,那么坏球就在拿出去的A组的两个里面,我们可以根据A4和B4的朝向再随便找一个好球来在称一次找出坏球。若第二次的A4和B4仍不平衡,那么我们再根据第一次和第二次天平的朝向来判断是A2是坏球还是B2是坏球,并且可以判断出坏球是轻了还是重了。然后使用和刚才第三次一样的方法找出坏球。