序章
收集一些有趣的小问题,活跃一些思维。
一道著名的毒酒问题
题目
有1000 桶酒,其中1 桶有毒。而一旦吃了,毒性会在1 周后发作。
现在我们用小老鼠做实验,要在1 周内找出那桶毒酒,问最少需要多少老鼠。
思路
需要10只老鼠就可以。
10只老鼠按从左到右的顺序编好号1-10,同时每桶酒通过二进制的方式编上号。编号需要写满10位,不够十位数的前面添度0补满。分别取数位和老鼠的位置一一对应知,把酒给相应位置上是1的老鼠喝。
比如第70桶酒,70转换回成二进制就是0001000110,那么就给第四、八、九只老鼠喝。
最后按死掉道的老鼠是哪几只,然后排成二进制,再转成十进制就是第几桶酒。
比如最后死掉第三、属七、八只老鼠,那么就是0010001100,转换成十进制就是140。
10只老鼠最多可检测2^10=1024桶酒。
不均匀的绳子
题目
烧一根不均匀的绳,从头烧到尾总共需要1 个小时。
现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
思路
关键在于不均匀,不然就更好处理了,就是在折半,折半,就好理解了。
关键在:两头烧。
A绳从两头烧,同时B绳只烧一头,30分钟后,A烧完了,同时B绳另一头也点燃,开始两头烧,烧完是15分钟
加起来就是45分钟。
一个小时十五分钟,那就再取一根C绳从两头烧,烧完30分钟,正好!
诚实与谎言
题目
一个岔路口分别通向诚实国和说谎国。
来了两个人,已知一个是诚实国的,另一个是说谎国的。
诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,
但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟)
注意:只能有一次提问机会,单独问一人和一起问都可以。
分析:
你直接问那两个人:“请问你们的国家怎么走。”
诚实国的会告诉你诚实国的去法。 说谎国的因为说谎,所以告诉你的也会是诚实国的去法。 所以你走另外那条路就市说谎国了。
这题的本质,实际上是非的问题。
同一颜色的果冻
题目
你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。
抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5 秒-1 分钟完成)
思路
分析:
1、里面有三种颜色时,需要4个
2、里面有2种颜色时,需要3个
3、里面有1种颜色时,需要2个
所有抓取4个就可以确定有2个同一颜色的果冻了。
就是比所有的颜色多一个,这个实际上是数学上的抽屉原理。
4 公升的水
题目
如果你有无穷多的水,一个3 公升的提捅,一个5 公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出 4 公升的水?(40 秒-3 分钟完成)
分析
分析:
1、只要称出1公升的水即可,(在加3公升)
把满的3公升桶中的水倒入5公升桶中,再一次把3公升桶中的2公升倒入5公升
这个时候3公升桶只剩1公升水。
2、3公升的桶空出1公升,再把5公升水倒1公升过去,也能得到4公升
把5公升倒入3公升,剩余2公升,把3公升桶倒干净,把剩下的2公升水倒入3公升桶。
额头牌的颜色
题目
有4张红色的牌和4张蓝色的牌,主持人先拿任意两张,剩余6张再分别在A、B、C三人额头上贴任意两张牌,
A、B、C三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,
A说不知道,B说不知道,C说不知道,然后A说知道了。
请教如何推理,A是怎么知道的。
如果用程序,又怎么实现呢?
分析:
ABC三人头上的组合有三种:rr、bb、rb
主持人拿掉的两张牌
1、rr 剩余rrbbbb,则:
bb、bb、rr C是可以知道自己是什么牌的
rb、 rb 、bb
2、bb 剩余rrrrbb ,则:
rr、rr、bb C也是可以知道自己是什么牌的
rb、rb、rr
3、rb 剩余rrrbbb,则:
rb、rb、rb 依次这样分析,最后符合答案的就是这种组合
rr 、rb、bb B是可以知道自己什么牌的
报酬问题
题目
你让一些人为你工作了七天,你要用一根金条作为报酬。金条被分成七小块,每天给出一块。
如果你只能将金条切割两次,你怎样分给这些工人?
分析
切割两次,分出三块 1、2、 4.
第一天 付1
第二天 收回1,付2
第三天 付1(1+2)
第四天 收回1、2 付4
第五天 付1 (4+1)
第六天 收回1 付2(4+2)
第七天 付1 (4+2+1)
开关的控制
题目
有两个房间,一间房里有三盏灯,另一间房有控制着三盏灯的三个开关,
这两个房间是分割开的,从一间里不能看到另一间的情况。
现在要求受训者分别进这两房间一次,然后判断出这三盏灯分别是由哪个开关控制的。
有什么办法呢?
分析
只用开和关两个属性,不能区分三种东西,所以需要引入第三属性,例如温度、闪烁等等。
解法
先进开关房,打开第一个开关,开半个小时再关掉,再打开第二开关,迅速到有灯的房间,可见
不亮但热的是由第一个开关控制,亮着的是第二个控制,不亮不热的是第三个控制.
天平
题目
12 个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。
13 个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5 分钟-1 小时完成)
分析
分析:
由于并未说明那个球的重量是轻是重,所以6、6分组,三次是做不到的。
4、4、4分组,①②③④ ⑤⑥⑦⑧ ⑨⑩⑪⑫分别为A、B、C
第一次称:
①②③④ > ⑤⑥⑦⑧ ①②③④ < ⑤⑥⑦⑧
说明不正常球在这8个球里面,⑨⑩⑪⑫正常,但不知比正常的轻还是重
第二次称:天平一边放3个:
①②⑤ > ③⑥⑨ 说明不正常球在①②⑥中,因为他们位置没有变化
第三次称:
①⑥ > ⑨⑩ 那么①为不正常球
①⑥ < ⑨⑩ 那么⑥为不正常球,而且⑥较轻
①⑥ = ⑨⑩ 那么②为不正常球
①②⑤ < ③⑥⑨ 说明不正常球在③⑤中,因为他们交换过位置
同理
①②⑤ = ③⑥⑨ 说明不正常球在④⑦⑧中
同理
①②③④ = ⑤⑥⑦⑧
说明不正常球在⑨⑩⑪⑫中
第二次称:
①②③ = ⑨⑩⑪ 则⑫不正常
①②③ > ⑨⑩⑪ 则不正常球在⑨⑩⑪中,且不正常球较轻
第三次称:
⑨ = ⑩ 则⑪不正常
⑨ > ⑩ 则⑩不正常
⑨ < ⑩ 则⑨不正常
①②③ < ⑨⑩⑪ 则不正常球在⑨⑩⑪中,且不正常球较重
划线
题目
在9 个点上画10 条直线,要求每条直线上至少有三个点?(3 分钟-20 分钟完成)
分析
时钟
题目
在一天的24 小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5 分钟-15 分钟完成)
分析
注意:
时针和分钟是移动着走
秒针是跳着走,意味着,秒针只能是整数。
时钟:角速度w=360°/12小时=30°/小时=0.5°/min
分钟:w=360°/60分钟=6°/min
假设某一时刻时针和00:00:00时针的顺时针方向夹角为x度。
则此时分针和00:00:00时针的顺时针方向夹角为12x-n*360度
(n为使12x-n*360大于0且小于等于360的最小自然数)
x=12x-n*360
x=(n*360)/11
12点和24点的时候,共2次
答案
很明显,秒针转一圈,分针会动一次,分针转一圈,时针会动一次。总共22次。
相邻两次重合之间所需时间相同,即12/11小时。准确说都分别是0点,12/11点,24/11点,36/11点,48/11点,60/11点,72/11点,84/11点,96/11点,108/11点,120/11点,12点,144/11点,156/11点,168/11点,180/11点,192/11点,204/11点,216/11点,228/11点,240/11点,252/11点。
有趣的是这11个点,正好是圆内接正11边形,其中一个顶点在12点处。
所以,1:05之后有一次,2:10之后有一次,3:15之后有一次,4:20之后有一次,5:25之后有一次,6:30之后有一次,7:35之后有一次,8:40之后有一次,9:45之后有一次,10:50之后有一次,12:00整有一次。24小时之中总共22次。
小结
希望本文对你有帮助,如果有其他想法的话,也可以评论区和大家分享哦。
各位极客的点赞收藏转发,是老马持续写作的最大动力!
参考资料
https://www.jianshu.com/p/6db5e1ae81d1
https://www.jianshu.com/p/dde956b8c150
算法题28 配对比较—有一堆1万个石头和1万个木头,对于每个石头都有1个木头和它重量一样,把配对的石头和木头找出来
烧一根不均匀的绳,从头烧到尾总共需要1个小时。 现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?