我收录的智力测试题
2012年03月16日

公司面试题B:

    有12颗珍珠,其中1颗的重量与其他11颗的重量不同,除此之外这12颗珍珠完全相同。现在要用一台没有砝码的天秤,将那颗重量不同的珍珠找出来,并且确定它比其它11颗重还是轻。你至少要称多少次?给出测量方法。


zollty给出的答案:

    只需要三次即可。

    首先将12颗珍珠从1到12编号,先将1-4号放在左边,5-8号放在右边。 

1、2、3、4 (左)  ---------------   5、6、7、8 (右)    剩下9、10、11、12

可以肯定: 如果天平平衡,则特殊珍珠在9-12号。如果左重(或右重)则特殊珍珠在1-8号。

分情况讨论:

一、如果右重则特殊珍珠在1-8号

第二次将2-4号拿掉,将6-8号从右边移到左边,把9-11号放在右边。就是说,把1,6,7,8放在左边,5,9,10,11放在右边。

1、6、7、8 (左)  ---------------   5、9、10、11 (右)

1.1 - 如果右重则特殊珍珠在1、5号(因为9、10、11是标准重量的珍珠,而当6、7、8换成9、10、11后,仍然是右边重,说明要么是5号有问题,要么是1、6、7、8号中有一颗比较轻,而如果是6、7、8号中有一颗比较轻,那么第一次就应该是右边轻,与我们假设的右边重不一致,所以只可能是1号比较轻)。如果是1号,则它比标准珍珠轻;如果是5号,则它比标准珍珠重。 后面只需要确定1号和5号就可以了,很简单(第三次将1号放在左边,2号放在右边。 a.如果右重则1号是特殊珍珠且比标准珍珠轻; b.如果平衡则5号是特殊珍珠且比标准珍珠重; c.这次不可能左重。) 

1.2 - 如果左重则特殊珍珠在拿到左边的6-8号,且比标准珍珠重。(因为第一次是右边重,6、7、8号换到左边后,却是左边重,可以断定,特殊珍珠在6、7、8号中,且比标准珍珠重)

 接下来只需要分辨6、7、8号中较轻的一颗,很简单: 第三次将6号放在左边,7号放在右边。 a.如果右重则7号是特殊珍珠且比标准珍珠重; b.如果平衡则8号是特殊珍珠且比标准珍珠重; c.如果左重则6号是特殊珍珠且比标准珍珠重。 

1.3 - 如果平衡则特殊珍珠在被拿掉的2-4号,且比标准珍珠轻。(因为第一次是右边重,左边轻,所以断定特殊珍珠在2~4号中,且比标准珍珠轻)

 接下来只需要分辨2、3、4号中较轻的一颗,很简单: 第三次将2号放在左边,3号放在右边。 a.如果右重则2号是特殊珍珠且比标准珍珠轻; b.如果平衡则4号是特殊珍珠且比标准珍珠轻; c.如果左重则3号是特殊珍珠且比标准珍珠轻。 

二、如果左重则特殊珍珠在1-8号。 

和“右边重”的情况差不多:

第二次将2-4号拿掉,将6-8号从右边移到左边,把9-11号放在右边。就是说,把1,6,7,8放在左边,5,9,10,11放在右边。 

2.1 - 如果右重则特殊珍珠在拿到左边的6-8号,且比标准珍珠轻。 第三次将6号放在左边,7号放在右边。 a.如果右重则6号是特殊珍珠且比标准珍珠轻; b.如果平衡则8号是特殊珍珠且比标准珍珠轻; c.如果左重则7号是特殊珍珠且比标准珍珠轻。 

2.2 - 如果左重则特殊珍珠在没有被触动的1,5号。如果是1号,则它比标准珍珠重;如果是5号,则它比标准珍珠轻。 第三次将1号放在左边,2号放在右边。 a.这次不可能右重。 b.如果平衡则5号是特殊珍珠且比标准珍珠轻; c.如果左重则1号是特殊珍珠且比标准珍珠重。

2.3 - 如果平衡则特殊珍珠在被拿掉的2-4号,且比标准珍珠重。 第三次将2号放在左边,3号放在右边。 a.如果右重则3号是特殊珍珠且比标准珍珠重; b.如果平衡则4号是特殊珍珠且比标准珍珠重; c.如果左重则2号是特殊珍珠且比标准珍珠重。 

总结:其实里面有许多情况是对称的,分析起来很容易,比如第一次称时的右重和右轻,只需考虑一种就可以了,另一种完全可以比照执行。

三、如果天平平衡,则特殊珍珠在9-12号

 第二次将1-3号放在左边,9-11号放在右边。 

1、2、3、4 (左)  ---------------   9、10、11、12 (右)  

3.1 - 如果右重则特殊珍珠在9-11号且特殊珍珠较重。接下来只需要分辨9~10号中较重的一颗,很简单:第三次将9号放在左边,10号放在右边。  a.如果右重则10号是特殊珍珠且比标准珍珠重;  b.如果平衡则11号是特殊珍珠且比标准珍珠重;  c.如果左重则9号是特殊珍珠且比标准珍珠重。 

3.2 - 如果左重则特殊珍珠在9-11号且特殊珍珠较轻。 接下来只需要分辨9~10号中较轻的一颗,很简单:第三次将9号放在左边,10号放在右边。 a.如果右重则9号是特殊珍珠且比标准珍珠轻;  b.如果平衡则11号是特殊珍珠且比标准珍珠轻;  c.如果左重则10号是特殊珍珠且比标准珍珠轻。 

3.3 - 如果平衡则特殊珍珠为12号。接下来只需要确定12号是较重还是较轻,很简单: 第三次将1号放在左边,12号放在右边。 a.如果右重则12号是特殊珍珠且比标准珍珠重;  b.这次不可能平衡;   c.如果左重则12号是特殊珍珠且比标准珍珠轻。 


智力测试题(二):

    某个岛上有座宝藏,你看到大中小三个岛民,你知道大岛民知道宝藏在山上还是山下,但他有时说真话有时说假话,只有中岛民知道大岛民是在说真话还是说假话, 但中岛民自己在前个人说真话的时候才说真话,前个人说假话的时候就说假话,这两个岛民用举左或右手的方式表示是否,但你不知道哪只手表示是,哪只手表示 否,只有小岛民知道中岛民说的是真还是假,他用语言表达是否,他也知道左右手表达的意思。但他永远说真话或永远说假话,你也不知道他是这两种类型的哪一 种,你能否用最少的问题问出宝藏在山上还是山下?(提示:如果你问小岛民宝藏在哪,他会反问你怎么才能知道宝藏在哪?等于白问一句) 


zollty给出的答案:

   用三个问题就可以推理出宝藏的下落。策略如下:

1. 问小岛民:如果中岛民举左手,则他是在说真话吗?回答(A.是,B.否)

2. 问大岛民:宝藏在山上吗?举手(A.左,B.右)

3. 问中岛民:大岛民刚才说的是真话吗?举手(A.左,B.右)

这三个问题,得到的答案有8种可能:AAA,AAB,ABA,ABB,BAA,BAB,BBA、BBB。

    以BBB为例,则可推出宝藏在山上(其他答案可类似推出,推理如下)

    推理:根本任务是判断小岛民是否说谎。但我们无法直接判断,只能间接判断,因此

1. 先假设小岛民说的是真话”:由答案BBB分别知,小岛民:{“中岛民举左手则他是在说假话”,中岛民:“举左手代表否,右手代表真”},中岛民:{“中岛民表示大岛民说的是真话”},大岛民:{“大岛民表明宝藏在山上”}

    推理 -> 中岛民说真话,则根据中岛民的话得知:大岛民也说真话,则根据大岛民的话,推出宝藏在山上,整个推理顺理成章!符合题目中所说的:中岛民自己在前个人说真话的时候才说真话,前个人说假话的时候就说假话。

2. 假设小岛民说的是假话”:由答案BBB分别知,小岛民:{“中岛民举左手则他是在说真话”,“举左手代表是,右手代表否”},中岛民:{“中岛民表示大岛民说的是假话”},大岛民:{“大岛民表明宝藏不在山上,即宝藏在山下”}

    推理 -> 中岛民说假话,则根据中岛民的话得知:大岛民也说假话,则根据大岛民的话,推出宝藏在山下。但是 根据题目中的描述:中岛民自己在前个人说真话的时候才说真话,前个人说假话的时候就说假话。

因此,如果大岛民说了假话,那么中岛民也应该说假话,也就是说,中岛民在问及“大岛民刚才说的是真话吗?”时,中岛民应该回答Yes,根据小岛民的描述,中岛民应该举左手才代表Yes,但是他却举的右手。所以假设和实际情况矛盾。因此这个假设不成立。

综上可知,只有假设1是顺理成章的,也就是说 小岛民说的是真话,中岛民也说真话,大岛民也说真话,宝藏在山上。