wlbx 发表于 2005-8-17 10:52

考考大家的逻辑能力(12球问题)

上班无聊来灌一下水,前段时间花了些心思解出了一道蛮难的题,也出给大家:

12球问题:有12个几乎一样的球,其中有1个特殊球,除质量与其它不同之外其它各方面都相同(注:不知是比较重还是比较轻)。现有一天平(无砝码)请你只称3次把那个特殊球找出来。

火星风暴 发表于 2005-8-17 10:59

楚天空 发表于 2005-8-17 11:05

有奖励吗?没有我不做

火星风暴 发表于 2005-8-17 11:07

楚天空 发表于 2005-8-17 11:15

还是告诉你们答案好了。

把12个球分别记为abcd,efgh,ijkl,并且分为三组,取出abcd, efgh这两组

第一种情形:

   如果重量相等,则说明所求在 ijkl 中,称量 i j ,
   如果相等,比较 a k ,如果a=k,则所求为 l ;如果ak不等,则所求为 k 。
   如果不等,比较 a i ,如果a=i,则所求为 j ;如果不等,则所求为 i 。

第二种:
   如果 abcd 轻,在efgh中取出 fgh ,替掉abcd中 bcd,从ijkl中取出 ijk 个放入 e 中填补空位:
   如果afgh轻:则说明所求在a或e,拿 e 和除 a 以外的任意一球比较,如果重量相等,则所求的球是 a ;如果不等,则所求的球是 e 。
   如果afgh重:说明所求在 fgh 中,且所求较重;比较 f g ,等重则所求为 h ;不等则重的为所求。
   如果一样重:说明所求在 bcd 中,且所求较轻;以下同afgh重的情形。

第三种:
   如果 abcd 重,在efgh中取出 fgh ,替掉abcd中 bcd,从ijkl中取出 ijk 个放入 e 中填补空位:
   如果 afgh 重:则说明所求在a或e,拿 e 和除 a 以外的任意一球比较,如果重量相等,则所求的球是 a ;如果不等,则所求的球是 e 。
   如果afgh轻:说明所求在 fgh 中,且所求较轻;比较 f g ,等重则所求为 h ;不等则重的为所求。
   如果一样重:说明所求在 bcd 中,且所求较重;以下同afgh轻的情形。

其实这道题以前有人问过我,上算法分析课的时候无聊,用了一节课的时间把它做了出来。速度还可以吧 ^^

楚天空 发表于 2005-8-17 11:19

有奖励吗?没有我不做你是不已经知道答案了.
知道答案?我自己做出来的。
我还将解题过程做成了一张图表,其过程一目了然,思路之清晰堪称天才之作。 ^^

Argo Navis 发表于 2005-8-17 11:20

这是一个很经典的问题,关键就是找出标准质量,当砝码。

jupiter1186 发表于 2005-8-17 12:42

没劲了!还没看到呢,答案都出来了!

凌儿 发表于 2005-8-17 15:31

看了题目就知道怎么做了……以前看过类似的……

火星风暴 发表于 2005-8-18 08:00

yang012 发表于 2005-8-18 12:33

1995年的science有数学推导,在计算机学上是找路径问题,树的求解

12球最坏情况下的最短路径是3

1001个球最坏情况下的最短路径是9

看出规律了吧;不过球多了人去找很麻烦,这东西用在质量管理上比较多

做游戏能作出12个球也厉害,毕竟是人计算出来的

cqyzlili 发表于 2005-8-18 22:21

这个东西在计算机课上好像讲过(信息竞赛)
页: [1]
查看完整版本: 考考大家的逻辑能力(12球问题)