黑马程序员技术交流社区

标题: 一道10K的面试题 [打印本页]

作者: z黑马h    时间: 2014-2-17 13:15
标题: 一道10K的面试题
                           八个球有一个假球,一个天平,秤几次找出假球,并且知道是轻了是重了?
这道题的答案并不是最重要的,而是看你能否以最少的次数找出假球,并知道是轻还是重。我给的答案是三次且应该是最优的了吧!

将八个球编号(1 2 3 4 5 6 7 8)。

第一次 1 2 3 >  4 5 6 ;(7 8) 好球。假球在1 2 3里面,只能比真球重 在4 5 6里面,只能比真球轻。

第二次 1 7 8 = 2 3 4  ;(5 6) 假球且轻 。第三次 5跟6比 轻者乃假球。

第二次 1 7 8 > 2 3 4  ;(1 4)  第三次 1跟任意真球比 不平1假球且重 平侧4假球且轻。

第二次 1 7 8 < 2 3 4  ;(2 3) 假球且重 。第三次 2跟3比 重者乃假球。


第一次 1 2 3 =  4 5 6 ;(7 8) 假球。

第二次 7 8 跟任意真球比,如果假球重,侧假球重,第三次 7跟8比,重者乃假球。

第二次 7 8 跟任意真球比,如果假球轻,侧假球轻,第三次 7跟8比,轻者乃假球。


第一次 1 2 3 < 4 5 6 ;(7 8) 好球。假球在1 2 3里面,只能比真球轻 在4 5 6里面,只能比真球重。

第二次 1 7 8 = 2 3 4  ;(5 6) 假球且重 。第三次 5跟6比 重者乃假球。

第二次 1 7 8 > 2 3 4  ;(1 4)  第三次 1跟任意真球比 不平1假球且轻 平侧4假球且重。

第二次 1 7 8 < 2 3 4  ;(2 3) 假球且轻 。第三次 2跟3比 轻者乃假球。





作者: 黄志成    时间: 2014-2-17 15:03

第一次 1 2 3 < 4 5 6 ;(7 8) 好球。假球在1 2 3里面,只能比真球轻 在4 5 6里面,只能比真球重。

第二次 1 7 8 = 2 3 4  ;(5 6) 假球且重 。第三次 5跟6比 重者乃假球。

第二次 1 7 8 > 2 3 4  ;(1 4)  第三次 1跟任意真球比 不平1假球且轻 平侧4假球且重。
//这里如果1为假,则1大于真球,跟前面的123<456不符。4也不可能为假,若4为假,则4小于真球,与前面123<456不符。所以这里应该是2,3中的一个为假,且2,3小于真球。

第二次 1 7 8 < 2 3 4  ;(2 3) 假球且轻 。第三次 2跟3比 轻者乃假球。
//同上,也搞反了,1,4为假且 1轻或4重。
作者: z黑马h    时间: 2014-2-17 15:45
思路没错,写错了。你看的还真细啊。

第一次 1 2 3 < 4 5 6 ;(7 8) 好球。假球在1 2 3里面,只能比真球轻 在4 5 6里面,只能比真球重。

第二次 1 7 8 = 2 3 4  ;(5 6) 假球且重 。第三次 5跟6比 重者乃假球。

第二次 1 7 8 > 2 3 4  ;(1 4)  第三次 1跟任意真球比 不平1假球且轻 平侧4假球且重。(第一次 1 2 3 < 4 5 6 ;(7 8) 好球。第二次把2 3从左边移到右边后,符号也随着2 3的移动而改变,这时假球(2 3)假球且轻 。第三次 2跟3比 轻者乃假球。)

下面的推理同上。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2