75道程序员面试逻辑测试题(附答案)(1)

【1】 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。面试

由满6向空5倒,剩1升,把这1升倒5里,而后6剩满,倒5里面,因为5里面有1升水,所以6只能向5倒4升水,而后将6剩余的2升,倒入空的5里面,再灌满6向5里倒3升,剩余3升。算法

【2】 周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到化验室作做业。作完后想出去玩。"等等,妈妈还要考你一个题目,"她接着说,"你看这6只作化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来吗?"爱动脑筋的周雯,是学校里有名的"小机灵",她只想了一下子就作到了。请你想一想看,"小机灵"是怎样作的?swift

设杯子编号为ABCDEF,ABC为满,DEF为空,把B中的水倒进E中便可。安全

【3】 三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶这个姑娘,他们决定用手枪进行一次决斗。小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林,他从不失误,命中率是100%。因为这个显而易见的事实,为公平起见,他们决定按这样的顺序:小李先开枪,小黄第二,小林最后。而后这样循环,直到他们只剩下一我的。数据结构

那么这三我的中谁活下来的机会最大呢?他们都应该采起什么样的策略?orm

小林在轮到本身且小黄没死的条件下必杀黄,再跟菜鸟李单挑。cdn

因此黄在林没死的状况下必打林,不然本身必死。blog

小李通过计算比较(过程略),会决定本身先打小林。递归

因而经计算,小李有873/2600≈33.6%的生机;事件

小黄有109/260≈41.9%的生机;

小林有24.5%的生机。

哦,这样,那小李的第一枪会朝天开,之后固然是打敌人,谁活着打谁;

小黄一如既往先打林,小林仍是先干掉黄,冤家路窄啊!

最后李,黄,林存活率约38:27:35;

菜鸟活下来抱得美人归的概率大。

李先放一空枪(若是合伙干中林,本身最吃亏)黄会选林打一枪(如不打林,本身确定先玩完了)林会选黄打一枪(毕竟它命中率高)李黄对决0.3:0.280.4可能性李林对决0.3:0.60.6可能性成功率0.73

李和黄打林李黄对决0.3:0.40.70.4可能性李林对决0.3:0.70.60.70.70.6可能性成功率0.64

【4】 一间囚房里关押着两个犯人。天天监狱都会为这间囚房提供一罐汤,让这两个犯人本身来分。起初,这两我的常常会发生争执,由于他们老是有人认为对方的汤比本身的多。后来他们找到了一个一箭双鵰的办法:一我的分汤,让另外一我的先选。因而争端就这么解决了。但是,如今这间囚房里又加进来一个新犯人,如今是三我的来分汤。必须寻找一个新的方法来维持他们之间的和平。该怎么办呢?按:心理问题,不是逻辑问题

是让甲分汤,分好后由乙和丙按任意顺序给本身挑汤,剩余一碗留给甲。这样乙和丙两人的总和确定是他们两人可拿到的最大。而后将他们两人的汤混合以后再按两人的方法再次分汤。

【5】 在一张长方形的桌面上放了n个同样大小的圆形硬币。这些硬币中可能有一些不彻底在桌面内,也可能有一些彼此重叠;当再多放一个硬币而它的圆心在桌面内时,新放的硬币便一定与原先某些硬币重叠。请证实整个桌面能够用4n个硬币彻底覆盖。

要想让新放的硬币不与原先的硬币重叠,两个硬币的圆心距必须大于直径。也就是说,对于桌面上任意一点,到最近的圆心的距离都小于2,因此,整个桌面能够用n个半径为2的硬币覆盖。

把桌面和硬币的尺度都缩小一倍,那么,长、宽各是原桌面一半的小桌面,就能够用n个半径为1的硬币覆盖。那么,把原来的桌子分割成相等的4块小桌子,那么每块小桌子均可以用n个半径为1的硬币覆盖,所以,整个桌面就能够用4n个半径为1的硬币覆盖。

【6】 一个球、一把长度大约是球的直径2/3长度的直尺.你怎样测出球的半径?方法不少,看看谁的比较巧妙

把球放在平面上,把直尺的一边卡在平面上,一边卡在球上,球与尺子的接触点到平面的距离就是球的半径.由于直尺长度约为直径的2/3>半径,因此能测量.

【7】 五个大小相同的一元人民币硬币。要求两两相接触,应该怎么摆?

底下放一个1,而后2 3放在1上面,另外的4 5竖起来放在1的上面。

【8】 猜牌问题S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4黑桃J、八、四、二、七、3草花K、Q、五、四、6方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q先生:大家能从已知的点数或花色中推知这张牌是什么牌吗?因而,S先生听到以下的对话:P先生:我不知道这张牌。Q先生:我知道你不知道这张牌。P先生:如今我知道这张牌了。Q先生:我也知道了。听罢以上的对话,S先生想了一想以后,就正确地推出这张牌是什么牌。请问:这张牌是什么牌? 方块5

【9】 一个教授逻辑学的教授,有三个学生,并且三个学生均很是聪明!一天教授给他们出了一个题,教授在每一个人脑门上贴了一张纸条并告诉他们,每一个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每一个人能够看见另两个数,但看不见本身的)教授问第一个学生:你能猜出本身的数吗?回答:不能,问第二个,不能,第三个,不能,再问第一个,不能,第二个,不能,第三个:我猜出来了,是144!教授很满意的笑了。请问您能猜出另外两我的的数吗?

通过第一轮,说明任何两个数都是不一样的。第二轮,前两我的没有猜出,说明任何一个数都不是其它数的两倍。如今有了如下几个条件:1.每一个数大于02.两两不等3.任意一个数不是其余数的两倍。每一个数字多是另两个之和或之差,第三我的能猜出144,必然根据前面三个条件排除了其中的一种可能。假设:是两个数之差,即x-y=144。这时1(x,y>0)和2(x!=y)都知足,因此要否认x+y必然要使3不知足,即x+y=2y,解得x=y,不成立(否则第一轮就可猜出),因此不是两数之差。所以是两数之和,即x+y=144。同理,这时1,2都知足,必然要使3不知足,即x-y=2y,两方程联立,可得x=108,y=36。

这两轮猜的顺序其实分别为这样:第一轮(一号,二号),第二轮(三号,一号,二号)。这样分你们在每轮结束时得到的信息是相同的(即前面的三个条件)。

那么就假设咱们是C,来看看C是怎么作出来的:C看到的是A的36和B的108,由于条件,两个数的和是第三个,那么本身要么是72要么是144(猜到这个是由于72的话,108就是36和72的和,144的话就是108和36的和。这样子这句话看不懂的举手):

假设本身(C)是72的话,那么B在第二回合的时候就能够看出来,下面是若是C是72,B的思路:这种状况下,B看到的就是A的36和C的72,那么他就能够猜本身,是36或者是108(猜到这个是由于36的话,36加36等于72,108的话就是36和108的和):

若是假设本身(B)头上是36,那么,C在第一回合的时候就能够看出来,下面是若是B是36,C的思路:这种状况下,C看到的就是A的36和B的36,那么他就能够猜本身,是72或者是0(这个再也不解释了):

若是假设本身(C)头上是0,那么,A在第一回合的时候就能够看出来,下面是若是C是0,A的思路:这种状况下,A看到的就是B的36和C的0,那么他就能够猜本身,是36或者是36(这个再也不解释了),那他能够一口报出本身头上的36。(而后是逆推逆推逆推),如今A在第一回合没报出本身的36,C(在B的想象中)就能够知道本身头上不是0,若是其余和B的想法同样(指B头上是36),那么C在第一回合就能够报出本身的72。如今C在第一回合没报出本身的36,B(在C的想象中)就能够知道本身头上不是36,若是其余和C的想法同样(指C头上是72),那么B在第二回合就能够报出本身的108。如今B在第二回合没报出本身的108,C就能够知道本身头上不是72,那么C头上的惟一可能就是144了。

史上最雷人的应聘者

【10】 某城市发生了一块儿汽车撞人逃跑事件,该城市只有两种颜色的车,蓝15%绿85%,事发时有一我的在现场看见了,他指证是蓝车,可是根据专家在现场分析,当时那种条件能看正确的可能性是80%那么,肇事的车是蓝车的几率究竟是多少?

15%*80%/(85%×20%+15%*80%)

【11】 有一人有240公斤水,他想运往干旱地区赚钱。他每次最多携带60公斤,而且每前进一千米须耗水1公斤(均匀耗水)。假设水的价格在出发地为0,之后,与运输路程成正比,(即在10千米处为10元/公斤,在20千米处为20元/公斤......),又假设他必须安全返回,请问,他最多可赚多少钱?

f(x)=(60-2x)*x,当x=15时,有最大值450。

450×4

【12】 如今共有100匹马跟100块石头,马分3种,大型马;中型马跟小型马。其中一匹大马一次能够驮3块石头,中型马能够驮2块,而小型马2头能够驮一块石头。问须要多少匹大马,中型马跟小型马?(问题的关键是恰好必须是用完100匹马) 6种结果

【13】 1=5,2=15,3=215,4=2145那么5=?

由于1=5,因此5=1.

【14】 有2n我的排队进电影院,票价是50美分。在这2n我的当中,其中n我的只有50美分,另外n我的有1美圆(纸票子)。愚蠢的电影院开始卖票时1分钱也没有。问:有多少种排队方法使得每当一个拥有1美圆买票时,电影院都有50美分找钱

注:1美圆=100美分拥有1美圆的人,拥有的是纸币,无法破成2个50美分

本题可用递归算法,但时间复杂度为2的n次方,也能够用动态规划法,时间复杂度为n的平方,实现起来相对要简单得多,但最方便的就是直接运用公式:排队的种数=(2n)!/[n!(n+1)!]。

若是不考虑电影院可否找钱,那么一共有(2n)!/[n!n!]种排队方法(即从2n我的中取出n我的的组合数),对于每一种排队方法,若是他会致使电影院没法找钱,则称为不合格的,这种的排队方法有(2n)!/(n-1)!(n+1)!种,因此合格的排队种数就是(2n)!/[n!n!]- (2n)!/[(n-1)!(n+1)!] =(2n)!/[n!(n+1)!]。至于为何不合格数是(2n)!/[(n-1)!(n+1)!],提及来太复杂,这里就不讲了。

【15】 一我的花8块钱买了一只鸡,9块钱卖掉了,而后他以为不划算,花10块钱又买回来了,11块卖给另一我的。问他赚了多少?

2元

【16】 有一种体育竞赛共含M个项目,有运动员A,B,C参加,在每一项目中,第一,第二,第三名分别的X,Y,Z分,其中X,Y,Z为正整数且X>Y>Z。最后A得22分,B与C均得9分,B在百米赛中取得第一。求M的值,并问在跳高中谁得第二名。

由于ABC三人得分共40分,三名得分都为正整数且不等,因此前三名得分最少为6分,40=58=410=220=120,不可贵出项目数只能是5.即M=5.

A得分为22分,共5项,因此每项第一名得分只能是5,故A应得4个一名一个二名.22=5*4+2,第二名得1分,又B百米得第一,因此A只能得这个第二.

B的5项共9分,其中百米第一5分,其它4项全是1分,9=5+1=1+1+1.即B除百米第一外全是第三,跳高第二一定是C所得.

【17】 前提:

1 有五栋五种颜色的房子

2 每一位房子的主人国籍都不一样

3 这五我的每人只喝一种饮料,只抽一种牌子的香烟,只养一种宠物

4 没有人有相同的宠物,抽相同牌子的香烟,喝相同的饮料

提示:1  英国人住在红房子里

2  瑞典人养了一条狗

3  丹麦人喝茶

4  绿房子在白房子左边

5  绿房子主人喝咖啡

6  抽PALL MALL烟的人养了一只鸟

7  黄房子主人抽DUNHILL烟

8  住在中间那间房子的人喝牛奶

9  挪威人住第一间房子

10 抽混合烟的人住在养猫人的旁边

11 养马人住在抽DUNHILL烟的人旁边

12 抽BLUE MASTER烟的人喝啤酒

13 德国人抽PRINCE烟

14 挪威人住在蓝房子旁边

15 抽混合烟的人的邻居喝矿泉水

问题是:谁养鱼???

第一间是黄房子,挪威人住,喝矿泉水,抽DUNHILL香烟,养猫;! f/ [% a: \6 L! J. Q9 x第二间是蓝房子,丹麦人住,喝茶,抽混合烟,养马;+ o8 _0 S) L8 i' E' u第三间是红房子,英国人住,喝牛奶,抽PALL MALL烟,养鸟;/ N9 o/ n2 M# U" c第四间是绿房子,德国人住,喝咖啡,抽PRINCE烟,养猫、马、鸟、狗之外的宠物;7 P5 l) G, G, |; C, {7 V第五间是白房子,瑞典人住,喝啤酒,抽BLUE MASTER烟,养狗。

【18】 5我的来自不一样地方,住不一样房子,养不一样动物,吸不一样牌子香烟,喝不一样饮料,喜欢不一样食物。根据如下线索肯定谁是养猫的人。

  1. 红房子在蓝房子的右边,白房子的左边(不必定紧邻)

  2. 黄房子的主人来自香港,并且他的房子不在最左边。

  3. 爱吃比萨的人住在爱喝矿泉水的人的隔壁。

  4. 来自北京的人爱喝茅台,住在来自上海的人的隔壁。

  5. 吸希尔顿香烟的人住在养马人的右边隔壁。

  6. 爱喝啤酒的人也爱吃鸡。

  7. 绿房子的人养狗。

  8. 爱吃面条的人住在养蛇人的隔壁。

  9. 来自天津的人的邻居(紧邻)一个爱吃牛肉,另外一个来自成都。

10.养鱼的人住在最右边的房子里。

11.吸万宝路香烟的人住在吸希尔顿香烟的人和吸“555”香烟的人的中间(紧邻)

12.红房子的人爱喝茶。

13.爱喝葡萄酒的人住在爱吃豆腐的人的右边隔壁。

14.吸红塔山香烟的人既不住在吸健牌香烟的人的隔壁,也不与来自上海的人相邻。

15.来自上海的人住在左数第二间房子里。

16.爱喝矿泉水的人住在最中间的房子里。

17.爱吃面条的人也爱喝葡萄酒。

18.吸“555”香烟的人比吸希尔顿香烟的人住的靠右

第一间是兰房子,住北京人,养马,抽健牌香烟,喝茅台,吃豆腐;2 G7 x% z0 v; C第二间是绿房子,住上海人,养狗,抽希尔顿,喝葡萄酒,吃面条;% C2 k4 o8 t" p6 L* x第三间是黄房子,住香港人,养蛇,抽万宝路,喝矿泉水,吃牛肉;& N" S% x# o3 a; g第四间是红房子,住天津人,抽555,喝茶,吃比萨;7 \5 s. J# d, Q/ N% N' O# ]第五间是白房子,住成都人,养鱼,抽红塔山,喝啤酒,吃鸡。

【19】 斗地主附残局

地主手中牌二、K、Q、J、十、九、八、八、六、六、五、五、三、三、三、三、七、七、七、7

长工甲手中牌大王、小王、二、A、K、Q、J、十、Q、J、十、九、八、五、五、四、4

长工乙手中牌二、二、A、A、A、K、K、Q、J、十、九、九、八、六、六、四、4

三家都是明手,互知底牌。要求是:在三家都不打错牌的状况下,地主必需要么输要么赢。问:哪方会赢?

无解地主怎么出都会输

【20】 一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最大的一颗?

先拿下第一楼的钻石,而后在每一楼把手中的钻石与那一楼的钻石相比较,若是那一楼的钻石比手中的钻石大的话那就把手中的钻石换成那一层的钻石。

小编给你们推荐一个iOS技术交流群:763164022! 群内提供数据结构与算法、底层进阶、swift、逆向、底层面试题整合文档等免费资料!但愿找到更多的同行多多交流!如下资料,进群能够免费得到哦

相关文章
相关标签/搜索