软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
关于在13个球中寻找不同的问题解答

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

关于在13个球中寻找不同的问题解答

问题:有13个大小、外形相同的球,其中的一个重量与其它12个不同,请用天平,最多使用三次,找出那个重量不同的球。

 

前言:这是一个非同寻常的问题,半个月前,我一见到它,就被这个问题迷住了,在苦苦思索了一整天,又看了无数解答之后,仍然没有想出正确的结果,我放弃了(我开始怀疑题目的正确性),直到昨天2001916日夜,我想出了解答。(如果这真的是华为的面试题的话,我肯定被淘汰了)

 

解题思路:12个标准球,1个非标准球。在找出非标准球的时候,每一个球都有可能,称之为嫌疑球。在这里我要先讨论几个可以用一次称量就找到的情况:

1.  有两个嫌疑球,和若干标准球的时候,可以一次找到。具体的做法就是取一个嫌疑球同一个标准球比较,如果重量不同,则可以确定天平上的嫌疑球就是非标准球,否则,剩下的那个就是非标准球。

2.  有三个嫌疑球,和有这三个嫌疑球参与的一次比较结果,并且在这次比较中,三个嫌疑球不在同一侧。比较方法是,取两侧的嫌疑球各一个,同两个标准球比较,如果相同,那就可以肯定,没有参加比较的嫌疑球是非标准球,如果两个嫌疑球一侧偏重,则上次比较结果中在较重一侧的嫌疑球是非标准球,否则就是较轻一侧的嫌疑球是非标准球。

3.  只剩一个嫌疑球的时候。

 

解题方法:

首先对13个球标号并分组:

1  2  3  4                          A1

5  6  7  8                          B1

9101112                           C1

13

称量AB,记录结果R1(这里用大于0表示A>B,其它类推)

 

然后二次分组

132  7  8                          A2

1  61112                           B2

510  3  4                          C2

9

称量A2B2,记录结果R2

 

开始分析结果:

如果R1R20,则证明非标准球没有上过天平,这样,嫌疑球有2个:9号球、10号球。符合我前面提出的解决条件。可以解决这个问题。结果将在9,10中产生。

 

如果R10R2>0(或者R2<0),则证明第二次测量的时候,非标准球上了天平,这样,嫌疑球有三个:131112。这符合我在前面提到的第二种情况,也可解决。结果将在13,11,12中产生。

 

如果R1>0,R2=0,非常简单,这证明非标准球在第二次测量的时候,离开了天平,嫌疑球有三个:5,3,4。我们可以用第一次的比较结果作条件,用第二个解决办法找到非标准球。结果将在5,3,4中产生。

 

如果
R1>0
R2>0,证明第二次测量的时候,非标准球一直天平上,但此时嫌疑球好像是有四个:12678,其实不是这样的,从测试结果上看,非标准球没有离开过自己的位置,这样的话,只有26是嫌疑球。结果将在2,6中产生。

 

R1>0R2<0,同理,非标准球移动了自己的位置,这么来说,嫌疑球就应该是:1,7,8。显然这符合第二个条件。结果将在1,7,8中产生。

 

显然已经没有必要讨论R1<0的情况了,这同R1>0实际上是一样的。

 

虽然解答完毕,但我总想就此说些什么,我只是一个本科生,没有接触过高深的数理逻辑,但这道题目却着实反映一个数学现象,我体会的到,但说不出来。希望有一天我可以真正掌握这门科学。

                                                                                                                                                                                                                  Beyond_ml([email protected])




相关文章

相关软件