出道智力题,让大家放松一下.如果哪个完全靠自己想出来,那只能说你太聪明了(0分)

  • 主题发起人 主题发起人 一条大鱼
  • 开始时间 开始时间

一条大鱼

Unregistered / Unconfirmed
GUEST, unregistred user!
有12个乒乓球特征相同,其中只有一个重量异常,现在要求用一部没有砝码的天平称三次,将那个重量异常的球找出来。

注意,异常球是重是轻未知

刚看到这道题,实在想不出来,没办法,比较笨
然后看了一半答案,又花了很多时间思考,才自己想出另一半答案
此题充满了逻辑推理,很适合程序员做
 
1,分三堆,每堆4个,先一边放一堆。
2,如果平衡,则在剩下的4个里拿出2个放一边,另一边放第一次秤的8个中的2个。
3,如果平衡,则将最后2个没放上过秤的中的一个放在一边,另一边放上其他10个中的一个。
这样就知道结果了,其他的情况也大同小异,不说了。
 
此题核心问题就是因为不知轻重,所以一定要找到基本重量的小球。
 
我与楼上的有差异,第一次一样,第二次4个当中的任意两个
 
如果第一次就不等咋办?
 
这么老的问题
 
在离线数据库里找吧.很多呢.
 
6 6 (球的数量)
3 3
1 1
 
来自:yunxi126, 时间:2006-7-27 8:40:52, ID:3517385
6 6 (球的数量)
3 3
1 1
原来以为只有一种方法,就是分三等分,现在看来,方法多多呀
记得原来有9个球测重量的,道理是一样的
 
题目很老,没做过的别以为很简单
>>注意,异常球是重是轻未知
要在各种情况下都能找出才行。
 
前面的答案不知道经常严密的推理没有?反正我看那几个方法是秤不出来的
 
写答案,顺便再整理以下思路
把12个球分三堆,每堆4个
先拿出两堆来秤
这时会有两种情况,平衡和不平衡,我们定为分支A和分支B
分支A:
这种情况比较好解决,因为只剩下4个球了,标为C1,C2,C3,C4
拿C1和C2来秤,如果平衡说明异常球在C3,C4内,则把C2换C3,再平衡,则C4是问题球,不平 衡,则C3是问题球
拿C1和C2来秤如不平衡则说明问题出在C1,C2内,这时也把C2换C3,平衡,则C1是问题球,不平衡,则C2是问题球

分支B
这种情况较复杂,难
我们把秤上重的4个球标为(a1,a2,a3,a4),轻的4个球标为(b1,b2,b3,b4),
剩余4个球标为(c1,c2,c3,c4)这四个球为正常球
这时抽出(a1,a2,c1)和(a3,a4,b1)来秤
先写到这,有事,晚上再写
 
最坏的情况时,三次是称不出来的,要四次就肯定可以找出来了。
 
第一次见到这道题时我做的答案:
天平一共可以有三种状态,左边重,两边相等,右边重,一共称三次,那么可能出现的组合数为3*3*3=27种,由于球不知轻重,所以天平的状态要减半,一共13种(27种情况中有一种情况为全平,但已知有一个球重量不标准,所以不可能全平),通过13种情况可以判断出12个球。

由于已经得出此题有解,下面就是安排每次比较球的排列,这里比较复杂,我不知道怎么说,直接把结果说出来吧(假设12个球编号为1-12):

次数  天平左边放球    天平右边放球
1   1,2,3,4   5,6,7,8
2   1,3,8,11   4,7,9,12
3   1,5,7,10   6,8,11,12

然后根据三次天平的情况就可以判断出是哪个球有问题了:
(“/”代表天平左边重,“-”代表天平平衡,“\”代表天平右边重)
/// 1号球重   \\\ 1号球轻
/-- 2号球重   \-- 2号球轻
//- 3号球重   \\- 3号球轻
/\- 4号球重   \/- 4号球轻
\-/ 5号球重   /-\ 5号球轻
\-\ 6号球重   /-/ 6号球轻
\\/ 7号球重   //\ 7号球轻
\/\ 8号球重   /\/ 8号球轻
-\- 9号球重   -/- 9号球轻
--/ 10号球重   --\ 10号球轻
-/\ 11号球重   -\/ 11号球轻
-\\ 12号球重   -// 12号球轻

解答完毕.
 
强人,用计算机的思维解题
虽然无法推断出你的结果,但你说得很在理
等有时间我坐下来慢慢想你的方法
找出其中的道理
 
如果要检验很容易,你假设1号球重,那么你根据上面三次称量的安排很容易就看出天平三次的状态应该是///,与下面给出的结果是一样的,同理挨个试试其它的球,也都没问题。

排列每次应该称量哪些球其实也没有多么困难,有十多分钟差不多就排出来了。
 
Arcan的方法真是不错,能想出这几组数的组合真是不容易,

我记得这个题目还有一个附加条件:将那个重量异常的球找出来,并指出异常的球比其它球是轻了还是重了
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我想了很久,结果基本和<一条大鱼>说的一样,但有部分情况分不出异常的球是轻了还是重了

比如这里:分支A中的第一种情况:
<拿C1和C2来秤,如果平衡说明异常球在C3,C4内,则把C2换C3,再平衡,则C4是问题球> 当问题球为C4时,就不知道C4是轻了还是重了

分支B中好象也有分不出异常球是轻了还是重了的情况,太复杂,记不清了.
 
to:tonmy
<<<比如这里:分支A中的第一种情况:
<拿C1和C2来秤,如果平衡说明异常球在C3,C4内,则把C2换C3,再平衡,则C4是问题球> 当问题球为C4时,就不知道C4是轻了还是重了>>>
我想了一下,如果想分出轻重,可以改一下
用(c1,a1)跟(c3,c4)秤
if weight(c1,a1)=weight(c3,c4) then
begin
这时,问题球可以肯定是c2,把c2跟任何一个球秤就知道轻重了
end else
begin
if weight(c1,a1)>weight(c3,c4) then
begin
这时可以推断出不是c1重就是c3,c4中有一个轻.这就好办了,把c3跟c4秤,如果平衡,自
然c1是异常球,而且重了.如果不平衡,轻的那个就是异常球
end else
begin
跟上面解法差不多,c3跟c4秤,如果平衡,自然c1是异常球,而且轻了.如果不平衡,重的那
个就是异常球
end;
end;
剩下的明天再想
 
听说是微软的招聘题,排列组合的经典之做。
 
分3堆,每堆4个,选两堆称
1. 如果天平平衡则剩下的4个含异常球--------------第1次
从剩下4球选2,从平衡的8球(正常球)中选2-------------第2次
如果平则从剩下2球选1,从其他10球(正常)选1
如果平则剩下的1球为异常球,如果不平则此球为异常球------------第3次结束
如果不平则选的2球有1个位异常球
从选中的2球任选1球,从其他10(正常)球选1-------------第2次
如果平则剩下的1球为异常球,如果不平则此球为异常球-------------第3次

2. 如果不平则表示剩下的一堆是正常球---------------------1次
从左边取出2球放置到一边,从右边取2球放到左边,然后从左边原剩下的2球取1个放到右边,此时天平两侧均3球,判断天平状态:------------第2次
如果天平平衡,则表示从左边取出的2球含异常球。//此处判断容易,略去....
如果天平失衡方向不变则表示左边未移动过的1球和右边未移动过的2球含异常球
如果天平失衡方向发生变化,则表示左边移动过的1球和右边移动过的2球含异常球。
(总之此次称可以判断出异常球在3(A、B、C球)球之中,且形式为,要么A球异常,B、C球正常,要么A球正常,B、C球含异常球,废话)
关键是要判断天平失衡时剩下3球中哪个是异常球。

我取第2次称天平失衡方向不变为例,且左边未移动过的1球为A球,右边未移动过的2球含异常球分别为B、C球,看清楚此刻B、C在右边,天平方向左高右低(其他情况验证原理一样)
此时要记下第二次称时天平失衡的方向(此处左高右低),A球放一边,取B、C两球称,B放左边,C方右边:------------第3次
如果平衡则表示A球为异常球,且偏轻
如果失衡则可判断B、C球有一球偏重,左高右低嘛!
如果失衡且方向为左高右低(既失衡方向未变)则判断C球异常且偏重!
如果失衡且方向为右高左低则判断B球异常且偏重!
上面仅仅是个例子,但是当要判断3球哪个是是异常球时,方法是共通的。


所以,这里最重要的是要记住天平的失衡方向,依据它可以找出异常球并可知道该球偏轻偏重!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
552
import
I
I
回复
0
查看
700
import
I
I
回复
0
查看
996
import
I
后退
顶部