your code touched me
Fork me on GitHub

两道阿里前端面试中的逻辑题

两道阿里前端面试中的逻辑题(表示本人是第一次听说前端遇到智力题,看来还得加油,不断扩展自己的视野),题目来源至妙味BBS的一位签了阿里巴巴的高手的面试题目分享(http://bbs.miaov.com/forum.php?mod=viewthread&tid=13233&highlight=面试);这里自己解答两道逻辑题以保存。

逻辑题1:一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却不知自己的。主持人先让大家看看别人头上戴的什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?


答:3
第一次开灯:大家肯定都看到了至少有1顶黑帽子,否则如果有人看到都是白帽子,那个人就会打自己耳光(因为至少有1顶黑帽子);然而大家都没有打自己耳光,说明至少有两顶黑帽子存在。
第二次开灯:每一个人都看到至少有两顶黑帽子,所以没打自己耳光(如果刚好两顶,必然有两个人只看到1顶黑帽子;看到只有一顶黑帽子的人一定会打自己耳光);因此总共有至少3顶黑帽子。
第三次开灯:此时大家都知道总共至少有三顶黑帽子;如果有看到只有2个黑帽子人,肯定会知道自己戴的也是黑帽子,那么肯定会打自己耳光;如果大家都看到3个包括以上的黑帽子,肯定不会有人打耳光。
因此可以推出总共有3顶黑帽子;


逻辑题2:你让某些人为你工作了七天, 你要用一根金条作为报酬.这根金条要被分成七块.你必须在每天的活干完后交给他们一块.如果你只能将这根金条切割两次,你怎样给这些工人分?

答:7=面值1+面值2+面值4
第一天:给出去面值1的一块;
第二天:给出去面值2的一块,找回面值1的一块;
第三天:给出去面值1的一块;
第四天:给出去面值4的一块,找回面值2和面值1各一块;
第五天:给出去面值1一块;
第六天:给出去面值2的一块,找回面值1的一块;
第七天:给出去面值1的一块。

posted @ 2015-08-16 00:12  AlvinWei  阅读(3460)  评论(3编辑  收藏  举报