[置顶] 技术类面试题——智力题

博弈类题

轮流拿乒乓球。

100个乒乓球,A和B轮流拿,每个人每次只能拿1~5个球,问A第一次拿几个球,才能确保胜利拿到最后一个球。答案从3,4,5里选。

答案是4,

因为100-4=96,而96是三个答案中唯一能被6除开的。

因为最多能拿5个,5+1=6,所以用6除。

 

这里任何用2N+X之类的尝试都是没用的,像斯诺克一样两人一对一的盯防,最后演变出来的战术不是你拿多少我拿多少,因为那样不是赢的关键。

 

游戏目标是什么呢,拿到最后一个球!

怎么确保赢呢,当然是确保自己拿到最后一个球!

 

逆推:

怎样拿到最后一个球?给对方6个球,他拿完1~5个,你拿完其余的,肯定能赢,那么目标进化成了给对方留6个球。

怎么给对方留6个球?在上一回合给对方留12个球,对方拿1~5个,自己就能给对方留6个球。

怎么给对方留12个球,在上一回合给对方留18个球,对方拿1~5个,自己就能给对方留12个球。

。。。。。。。。

最后游戏就进化成了给对方留6N个球,所以答案是给对方留96个球,每回合无论对方怎么拿,补满6就行了。


这算是个小博弈题,博弈的前提是博弈多方都对胜利法则十分了解。

问第一次拿几个才能确保你赢,是确保你能赢,不是你就赢了,如果你不是一个熟悉游戏规则和胜利法则的人(也就是给对手留6的倍数的原则),其实第一次拿多少个都不能保证你赢。。。。。。

 

关键词:博弈、互补。



50个猎人和病狗

50个猎人,每人带一条狗,却不能观察自己的狗(奇葩),要通过每天放风观察其他狗来确定自己的狗是不是有病,然后finish it。第一天,什么都没发生;第二天,第二天,什么都没发生,第三天,一阵枪响,问一共几个病狗。

 

换位思考:

如果看不到病狗,就是自己的狗有病。第一天就杀狗。

有一个病狗的话,它的主人当天就解决它;

如果它的主人没解决它,可能是他也额外看到了一条病狗,所以我带的狗有病,两条病狗,第二天杀。

有二个病狗的话,它们的主人第二天就解决它;

如果它们的主人没解决它,可能是他们也额外看到了一条病狗,所以我带的狗有病,三条病狗,第三天杀。

。。。。。。

依次类推,第几天杀就是几条病狗。


“我”代指每天新增怀疑自己狗生病的猎人,换位来观察的话,其实所有带病狗的猎人都是“我”。


不过他们也真够奇葩的,干嘛要回家再杀,干嘛要这么多天,当场杀不行吗?毕竟是道题,就当是出题者留的那个缓冲间隔。你毕竟不能1秒就杀了自己的狗,万一是你掏枪快呢,所以设了这么一个判断的时间罢了。

 

关键词:换位思考。



排除法

不知道哪来的题,是否和技术有关,朋友给的,就玩了一下,小红密码:


风格没统一,3和4应该是3.1和3.2,就像5和5.2一样,同一步完成的。

排除推理,最后别忘了回到前边去找条件。。。。。。

[置顶] 技术类面试题——智力题_第1张图片









你可能感兴趣的:(面试题,智力题)