【用老鼠检测毒药问题】
8个瓶子中有1瓶毒药,一只老鼠吃到毒药一周之内会死,如果要在一周内检出有毒药的一瓶,至少需要几只老鼠?
2^3=8,需要
000=0
001=1
010=2
011=3
100=4
101=5
110=6
111=7
一位表示一个老鼠,0-7表示8个瓶子。也就是分别将1、3、5、7号瓶子的药混起来给老鼠1吃,2、3、6、7号瓶子的药混起来给老鼠2吃,4、5、6、7号瓶子的药混起来给老鼠3吃,哪个老鼠死了,相应的位标为1。如老鼠1死了、老鼠2没死、老鼠3死了,那么就是101=5号瓶子有毒。
【摸球问题】
题目:一个桶里有100个白球,100个黑球,现在按如下规则取球:
(1)每次从桶里拿出来两个球
(2)如果取出两个同色的球,就再放入一个黑球
(3)如果取出两个异色的球,就再放入一个白球
问:最后桶里剩下一个黑球的概率。
答:由规则易得,桶里的球的个数是奇数个,白球是偶数个
要么根据(2)取出两个白球;要么根据规则(3)取出了一黑一白,然后又放了一个白球进去,相当于白球数目没变。
所以最后桶里的白球数要么是2个,要么是0个;
如果剩两个白球,那么肯定还有一个黑球,取出白球后,就再放入一个黑球,……,最后肯定只剩下一个黑球;
如果剩0个,以此类推,最后还是只剩下一个黑球……
总结:所以这道智力题重在分析,而不是一上来就算各种概率什么的……
【翻瓶盖问题】
9个向下盖着的瓶盖,每次只准翻两个,问翻几次可以让全部盖子朝上?
答:翻多少次都不可以实现。最后总有一个盖子跟其他盖子是相反的。
(感觉这道题答案是显然的……)
【摸球先后策略问题】
题意:总共20个球,两个人轮流拿,每次每人必须拿球,而且只能拿1/2/4个球,拿到最后一个球算输,请问先走的必胜还是后走的必胜,有没有固定的策略。
这种题感觉还是挺多的,leetcode上也有,而且各种花样,所以应该好好分析一番找找规律,再下结论。
先找一下规律:
(1)首先考虑某一方在拿球的时候,还剩下1个球,那么这一方必输;
(2)再考虑某一方在拿球的时候,还剩下2个球,那么这一方可以只拿1个球,那么对方就输了;
(3)再考虑还剩3个球,那么这一方可以拿2个球,还是对方输;
(4)再考虑还剩4个球,要么你拿4个就输了;要么你先拿1个,那对方拿2个你也输了;要么你先拿2个,那对方拿1个你也输了。所以你拿的时候如果剩下4个球,你必输。
……以此类推……
(5)剩7个球,你拿1个,对方就拿2个,还剩4个球,回到(4);
你拿2个,对方就拿1个,还剩4个,回到(4);
你拿4个,对方拿2个,还剩1个,还是输了。所以剩7个也输了
(6)当你拿的时候还剩3n+1个球时,你必输。因为不管你怎么拿,对方都有办法令剩下的球数是3n+1;
比如3n+1个球中,你拿1个,对方就拿2个,此时还剩3n-2=3(n-1)+1
比如3n+1个球中,你拿2个,对方就拿1个或4个,此时还剩3n-2=3(n-1)+1或3n-5=3(n-2)+1
比如3n+1个球中,你拿4个,对方就拿2个,此时还剩3n-5=3(n-2)+1
所以……只要第一个人先拿1个,然后后面一直让球数保持在3n+1个,那么先拿的就能赢……
心好累……
【赛马问题——决出前4名】
答案出处:http://www.cnblogs.com/reanote/p/find_4th_in_64horse.html
题意:有64匹马,赛场上只有8条跑道,请问最少需要比赛多少场才能确定跑得最快的那4匹马,不可以借助计时器给马计时。
第一步:全部马分8组,各跑一次,然后淘汰掉每组的后四名(8次);黄色的为晋级的马
第二步:取每组第一名进行一次比赛,然后淘汰最后四名所在组的所有马(1次):
分析:其实这时候棕色区域的马也可以淘汰了,A1可以直接晋级(NO.1);
第三步:A2、A3、A4、B2、B3、C1、C2、D1八匹马跑一次,即:在剩下需要排名的马中,除了B1外,其它8匹马跑一次(1次)
分类讨论:
1、如果这次排名,B2或C1能进前三名,则加上B1后,B1一定能进前三名,因为B1 排名比B2和C1都要靠前;
到此比赛可以结束了;这种情况8+1+1=10次出结果;
2、如果这次排名,B2或C1不能进入前三名,则需要再进行一次比赛,B1、A2、A3、A4进行,取前三名:
这种情况8+1+1+1=11次出结果。
ps:至于11次那种情况能不能少,暂时没想到,也没有去进一步证明。
【有一个5升的瓶子,一个6升的瓶子,怎么装出3升的水】
1 先装5升瓶子,倒入6升瓶子,这时6升瓶子里有5升水
2 再装5升瓶子,倒入6升瓶子,这时5升瓶子里还剩4升水
3 6升瓶子里有6升水,倒掉,再倒入第二步里5升瓶子剩下的4升水,这时6升瓶子里有4升水
4 再装满5升瓶子,往6升瓶子里倒,只能倒走2升,5升瓶子里剩3升水.