几道智力趣题
1. 有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
2. 有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜子的布质、大小完全相同,而每对袜子都有一张商标纸连着。两位盲人不小心将八对袜子混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?
3. 有一辆火车以每小时150公里的速度从北京开往广州,另一辆火车以每小时200公里的速度从广州开往北京。北京到广州铁路距离假设是3000公里。如果有一只神兽,以300公里每小时的速度和两辆火车同时启动,从北京出发,沿着铁路飞奔,碰到另一辆车后掉头,依次在两辆火车间来回飞奔,直到两辆火车相遇,请问,这只神兽共跑了多长距离?
4. 有两个罐子, 50个红色弹球,50个蓝色弹球,请你先将这100个球分入2个罐子中。然后让别人随机选择一个罐子,并在该罐子中随机选择一个小球。请问如何分配这些小球到罐子中才能让别人选中红球的概率最大?
5. 有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1。只称量一次,如何判断哪个罐子的药被污染了?
6. 对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关……问:最后为关熄状态的灯的编号。
7. 一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其它人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什幺帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?
8. 1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水?
参考:
1. 先将第一根香两端点燃,将第二根香一端点燃。等第一根香烧完(30分钟)。然后将第二根香的另一端也点燃,那么从这一刻开始到第二根香烧完就是15分钟。
2. 8双袜子,将商标拆开,两人各取其中一只即可。
3. 匀速运动公式: 距离=速度×时间 。由于两火车相对运动,算出它们相遇所需的时间,乘以神兽运动速度即可。
4. 一个罐子放1个红球,另一个罐子放入49个红球和50个蓝球。则选中红球概率为0.5 + 0.5 *0.49 = 0.745 。
5. 1号瓶子取1颗药,2号瓶子取2颗药,3号瓶子取3颗药,4号瓶子取4颗药。
6. 这一题的答案是编号为完全平方数的灯将熄灭,即1, 4, 9, 16, 25, 36, 49, 64, 81, 100号灯将熄灭。
分析:判断第N号灯最终是否熄灭只要看在1~N中N的约数(包括1)的个数到底是奇数还是偶数即可,若为奇数则第N号熄灭,若为偶数则开着。若N是素数,那么N的约数只有1和N,即约数个数为偶数。若N是合数且不是完全平方数,那么N必然可以作因数分解,分解为k种N1*N2的形式,其中N1 < N2 ,因此N的约数个数就是2k,必然为偶数。若N是完全平方数,那么N可做因数分解,分解为k种N1*N2的形式(N1 < N2),而且还可以分解为T*T的形式(因为N是完全平方数)。那么N的约数个数为2*k+1个,为奇数。
7. 3人。
分析:关键条件是:黑帽至少有一顶。(1)若只有1人戴黑帽,则那人马上就会知道,因此第一次关灯就该抽自己耳光了。(2)若有2人戴黑帽,他们看到对方的黑帽但不能确定自己是不是黑帽,因此第一次关灯不会扇自己耳光。由于他们都没有听到耳光声,因此他们知道黑帽不止一顶,那么唯一的可能就是自己也戴黑帽,于是第二次关灯时两人都会扇自己耳光。(3)若有3人戴黑帽,这3个人都看到另外2个人戴黑帽。在第一次关灯时他们都不能确定自己是否戴黑帽,而且他们都知道若只有2人戴黑帽那第二次关灯就会有人扇耳光了。但当第二次关灯还是没人抽耳光,那么3个人就会想,如果只有2个人戴黑帽那么第二次关灯时他们就该抽自己耳光啦,所以戴黑帽的必然不止2人,那唯一的可能就是自己也戴黑帽。4顶或以上的情况类似可推。这题的结论就是第几次关灯有人抽耳光,那么黑帽子就有几顶了。
8. 40瓶,最后需要暂时借一个瓶子。
第1题
Alice和她的同学Bob通过网上聊天商量明天早晨谁去教室打扫卫生的事,Bob说:“我在桌上放了一枚硬币,你猜一下,是正面朝上还是反面朝上?如果猜对了,我去扫地。如果猜错了,嘿嘿…。”
Alice显然不会同意,担心自己不论猜正面还是反面,Bob都说她错了。
分析:
看到这题,我的第一反应是葛优的“分歧终端机”。(╯▽╰)
最关键是要找到一种方法使得Alice给出她的猜测后Bob不能抵赖。一种参考答案如下:
1. Bob与Alice商量选取一个哈希函数hash(),hash()的值域应该尽可能大。
2. Bob选择一个大随机数x,计算hash(x);通过网络告诉Alice hash(x)的值
3. Alice告诉Bob对x的奇偶性猜测(偶数表示“正面”;奇数代表“背面”)
4. Bob告诉Alice x的值
5. Alice验证hash(x)
但是这样也不是100%能够防止Bob作弊的。Bob如果想抵赖,那么他应该事先找出两个大整数,一奇一偶,而且哈希函数值相同。(抵赖的难度就取决于hash函数的选择了)
第2题
Alice与Bob相爱了,他们想通过书信来商量私奔的事。暗恋Alice的邮递员Chuck经常利用职权之便偷看他们之间的通信。Alice与Bob各有一把锁和只能打开自己那把锁的钥匙。另外Bob还有一个能够上锁的铁盒子。问如何防止Chunk偷看他们之间的通信?
分析:
Bob将情书放进铁盒,用自己的锁给盒子上锁。Alice收到后给盒子加上自己的锁,然后将盒子寄回给Bob。Bob收到后将自己的锁取下,再将盒子寄给Alice。Alice收到盒子后取下自己的锁就可以看信了。
第3题
某人第一天由 A地去B地,第二天由 B地沿原路返回 A 地。问:在什么条件下,可以保证途中至少存在一地,此人在两天中的同一时间到达该地。
分析:
假如我们换一种想法,把第二天的返回改变成另一人在同一天由B去A,问题就化为在什么条件下,两人至少在途中相遇一次,这样结论就很容易得出了:只要其中一个人在另外一个人到达之前出发,则两人必会在途中相遇。
第4题
一条长度为L的竹竿上分布着N个蚂蚁,已知所有蚂蚁的行进速度都是v,两只蚂蚁碰头后会掉头走,给定初始时刻蚂蚁的行进方向。问如何计算所有蚂蚁离开竹竿要多长时间?
分析:
最直接也是最笨的方法就是对每个蚂蚁的行动进行模拟。这样谁都能想到的答案当然不是出题者想要的了。
换个角度想,2个蚂蚁碰头后掉头走实质上是等价于它们碰头后擦肩而过继续赶路。(如果你将所有蚂蚁都看作一样的话)
好了,这样一想,过程简单多了。对于每个蚂蚁,都假设竹竿上只有它一个蚂蚁,然后计算出它离开竹竿的时间。所需时间最长的蚂蚁所耗的时间就是题目的答案了。
第5题
一对情侣一起去买了一块饼
女生吃了3/7块饼
男生吃掉剩下的4/7块饼
男生比女生多出了4.5元
请问这块饼多少元?
分析:
4.5元(有回答31.5的么?举个手?)
参考资料:
[1]《编程之美》小组.《编程之美》
[2] matrix67. 密码学协议举例(五):两个人能够在电话上打牌吗?