LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2036|回复: 27

给大家出个难题来做做,跟编程没什么关系

[复制链接]
发表于 2004-4-4 15:32:29 | 显示全部楼层 |阅读模式
有十三个外观相同的小球,其中一个重量与其它的不同(不知道是轻还是重)。用一架天平,要求只使用三次天平,找到那个特殊的小球。
发表于 2004-4-4 15:46:13 | 显示全部楼层
i known ,but i can't saied,because my enghish is so poor
发表于 2004-4-4 19:19:46 | 显示全部楼层
这个好象是中学的数奥题。

发表于 2004-4-5 19:08:40 | 显示全部楼层
经典题目 :)
发表于 2004-4-5 20:57:52 | 显示全部楼层
第一次两边六个称,如果相等就是那剩下的那个,否就一边轻一边重,这时不知道要选择哪一边,因为题目(不知道是轻还是重)。
如果知道那球是轻还是重,就可以继续做下去,按照同样的方法: next setp 3 and 3
,最后,是1 和1 如果相等就是另一个球,如果不等就不知道了,“不知道是轻还是重”

最这道题、如果不知道要找的球是比其它的球轻或重,就没有答案。
发表于 2004-4-5 21:50:02 | 显示全部楼层
三次不知道,我用4次可以称出来,
回头再想想
发表于 2004-4-5 23:42:04 | 显示全部楼层
最初由 libinary 发表
三次不知道,我用4次可以称出来,
回头再想想


想好了请说说你的算法。。。。我的如上贴。。
发表于 2004-4-6 08:10:12 | 显示全部楼层

很古老的题目了

要动笔,不能光在脑袋里想
发表于 2004-4-6 20:26:00 | 显示全部楼层
我的看法:
1 2 3 4 5 6 7 8 9 10 11 12 13

1)取8个4x4称
A(1 2 3 4)<------->B(5 6 7 8)

2。1)平衡:取剩下5个认取3个和已经称过的3个称
如果A(1 2 3 4)========B (5 6 7 8)=> solution is in(9 10 11 12 13)
then
A(1 2 3)<---------->B(9 10 11)(A(1 2 3 是标准球)

2.2)不平衡:前8个4x4的,每边去掉一个,这样就是3x3来称
A(1 2 3)<----------->B(5 6 7)

if(2.1)
2.1.1)平衡:那随意取个还没称过的,和一个已经称过得,答案就出来了.

A(1 2 3)=========B(9 10 11) => solution is 12 or 13
then A(1)<----------->B(12)
conclusion:if A(1)==B(12)then 13 has different weight(不管轻重)
if A(1)!=B(12) then 12 has different weight(不管轻重)

2.1.2)不平衡:前八个球肯定是标准球,那就知道非标准球比标准球重还是轻,所以在非标准球的组里,任取两个1x1来称,答案就出来了.
A(1 2 3)!=B(9 10 11)(因为第一次比较,确认答案是(9 10 11 12 13)所以如果是这样的话,从第二次比较能得知答案在(9 10 11)中,我们知道A(1 2 3)标准,所以
A(1 2 3)如果比B(9 10 11)(轻,则答案比标准球重,所以我们比较A(9)<->B(10),如果A(9)=B(10)那solution=11,不然solution=重的一球)

if(2.2)
2.2.1)平衡:把前面抽出的两个,任一个和标准球比,答案就出来了.
A(1 2 3)==B(5 6 7) 就是说答案是4 or 8
这时,已知其它的是标准球那就再称比如(A(4)<-->B(5))如果平衡,则答案是4,否则答案是 8

2.2.2)不平衡:现在我还不知道,再想想.....

A(1 2 3)!=B(5 6 7)时就不知道了

ps
以上是我牺牲午睡时间来做的,真是劳苦功高.......
以上解法不一定正确,只供参考,建议还是从头开始想答案...
因为2.2.2很有可能没解....
以上答案都不用知道特别球比标准球轻或重
发表于 2004-4-6 21:59:45 | 显示全部楼层
to zonzi:


任一个和标准球比,  ======quote

不知道球比标准的轻还是重,象devel所言,此题无解。

13个小球
1 2 3 4 5 6 7 8 9 10 11 12 13

step :
A(1 2 3 4 5 6) <---> B(7 8 9 10 11 12)

if A == B then 13 就是那个球,如果不相等,一边轻一边重,就无法得在计算下去,因为不知道那个球比标准的球轻还是重,要算也可以,但步骤> 3
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表