大家好,又见面了,我是你们的朋友全栈君。
作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
前言
程序员面试题中经常会出现一些烧脑的逻辑题,博主觉得这种题目非常有趣,于是收集了一些分享给大家!
【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只玻璃杯,就便盛满水的杯子和空杯子间隔起来吗?“爱动脑筋的周雯,是学校里有名的”小机灵”,她只想了一会儿就做到了。请你想想看,”小机灵”是怎样做的?
设杯子编号为ABCDEF,ABC为满,DEF为空,把B中的水倒进E中即可。
【3】三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶这个姑娘,他们决定用枪进行一次决斗。小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林,他从不失误,命中率是100%。由于这个显而易见的事实,为公平起见,他们决定按这样的顺序:小李先开枪,小黄第二,小林最后。然后这样循环,直到他们只剩下一个人。那么这三个人中谁活下来的机会最大呢?他们都应该采取什么样的策略?
小林在轮到自己且小黄没死的条件下必杀黄,再跟菜鸟李单挑。
所以黄在林没死的情况下必打林,否则自己必死。
小李经过计算比较(过程略),会决定自己先打小林。
于是经计算,小李有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】五个大小相同的一元人民币硬币。要求两两相接触,应该怎么摆?
底下放一个1,然后2 3放在1上面,另外的4 5竖起来放在1的上面。
【7】猜牌问题S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?于是,S先生听到如下的对话:P先生:我不知道这张牌。Q先生:我知道你不知道这张牌。P先生:现在我知道这张牌了。Q先生:我也知道了。听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。请问:这张牌是什么牌?
方块5
【8】一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明!一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的)教授问第一个学生:你能猜出自己的数吗?回答:不能,问第二个,不能,第三个,不能,再问第一个,不能,第二个,不能,第三个:我猜出来了,是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了。
【9】某城市发生了一起汽车撞人逃跑事件,该城市只有两种颜色的车,蓝15%绿85%,事发时有一个人在现场看见了,他指证是蓝车,但是根据专家在现场分析,当时那种条件能看正确的可能性是80%。那么,肇事的车是蓝车的概率到底是多少?
15%*80%/(85%*20%+15%*80%)
【10】有一人有240公斤水,他想运往干旱地区赚钱。他每次最多携带60公斤,并且每前进一公里须耗水1公斤(均匀耗水)。假设水的价格在出发地为0,以后,与运输路程成正比,(即在10公里处为10元/公斤,在20公里处为20元/公斤…),又假设他必须安全返回,请问,他最多可赚多少钱?
f(x)=(60-2x)*x,当x=15时,有最大值450。
450×4,另外,需要证明的是,每次运60公斤水是最优的。
【11】现在共有100匹马跟100块石头,马分3种,大型马;中型马跟小型马。其中一匹大马一次可以驮3块石头,中型马可以驮2块,而小型马2头可以驮一块石头。问需要多少匹大马,中型马跟小型马?(问题的关键是刚好必须是用完100匹马)
6种结果,分别设大型马为x匹,中型y匹,小型z匹,于是有:1.x+y+z=100; 2.3x+2y+z/2=100,可以得到5x+3y=100,知y必为5的倍数,且x<20。
【12】1=5,2=15,3=215,4=2145 那么 5=?
因为1=5,所以5=1。
【13】有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-1个人的组合数)种,所以合格的排队种数就是(2n)!/[n!n!]- (2n)!/[(n-1)!(n+1)!] =(2n)!/[n!(n+1)!]。至于为什么不合格数是(2n)!/[(n-1)!(n+1)!],说起来太复杂,这里就不讲了。
【14】一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一个人。问他赚了多少?
2元
【15】有一种体育竞赛共含M个项目,有运动员A,B,C参加,在每一项目中,第一,第二,第三名分别的X,Y,Z分,其中X,Y,Z为正整数且X>Y>Z。最后A得22分,B与C均得9分,B在百米赛中取得第一。求M的值,并问在跳高中谁得第二名。
因为ABC三人得分共40分,三名得分都为正整数且不等,所以前三名得分最少为6分,40=5*8=4*10=2*20=1*20,不难得出项目数只能是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所得。
【16】前提:
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香烟,养猫;第二间是蓝房子,丹麦人住,喝茶,抽混合烟,养马;第三间是红房子,英国人住,喝牛奶,抽PALL MALL烟,养鸟;第四间是绿房子,德国人住,喝咖啡,抽PRINCE烟,养猫、马、鸟、狗以外的宠物;第五间是白房子,瑞典人住,喝啤酒,抽BLUE MASTER烟,养狗。
【17】5个人来自不同地方,住不同房子,养不同动物,吸不同牌子香烟,喝不同饮料,喜欢不同食物。根据以下线索确定谁是养猫的人。
1.红房子在蓝房子的右边,白房子的左边(不一定紧邻)
2.黄房子的主人来自香港,而且他的房子不在最左边。
3.爱吃比萨的人住在爱喝矿泉水的人的隔壁。
4.来自北京的人爱喝茅台,住在来自上海的人的隔壁。
5.吸希尔顿香烟的人住在养马人的右边隔壁。
6.爱喝啤酒的人也爱吃鸡。
7.绿房子的人养狗。
8.爱吃面条的人住在养蛇人的隔壁。
9.来自天津的人的邻居(紧邻)一个爱吃牛肉,另一个来自成都。
10.养鱼的人住在最右边的房子里。
11.吸万宝路香烟的人住在吸希尔顿香烟的人和吸“555”香烟的人的中间(紧邻)
12.红房子的人爱喝茶。
13.爱喝葡萄酒的人住在爱吃豆腐的人的右边隔壁。
14.吸红塔山香烟的人既不住在吸健牌香烟的人的隔壁,也不与来自上海的人相邻。
15.来自上海的人住在左数第二间房子里。
16.爱喝矿泉水的人住在最中间的房子里。
17.爱吃面条的人也爱喝葡萄酒。
18.吸“555”香烟的人比吸希尔顿香烟的人住的靠右
第一间是兰房子,住北京人,养马,抽健牌香烟,喝茅台,吃豆腐;第二间是绿房子,住上海人,养狗,抽希尔顿,喝葡萄酒,吃面条第三间是黄房子,住香港人,养蛇,抽万宝路,喝矿泉水,吃牛肉第四间是红房子,住天津人,抽555,喝茶,吃比萨;第五间是白房子,住成都人,养鱼,抽红塔山,喝啤酒,吃鸡。
【18】斗地主附残局
地主手中牌2、K、Q、J、10、9、8、8、6、6、5、5、3、3、3、3、7、7、7、7
长工甲手中牌大王、小王、2、A、K、Q、J、10、Q、J、10、9、8、5、5、4、4
长工乙手中牌2、2、A、A、A、K、K、Q、J、10、9、9、8、6、6、4、4
三家都是明手,互知底牌。要求是:在三家都不打错牌的情况下,地主必须要么输要么赢。问:哪方会赢?
待定,希望能有朋友给出一个合理的答案
【19】一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最大的一颗?
先拿下第一楼的钻石,然后在每一楼把手中的钻石与那一楼的钻石相比较,如果那一楼的钻石比手中的钻石大的话那就把手中的钻石换成那一层的钻石。
【20】U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内过桥呢?
2+1先过 2
然后1回来送手电筒 1
5+10再过 10
2回来送手电筒 2
2+1过去 2
总共2+1+10+2+2=17分钟
【21】一个家庭有两个小孩,其中有一个是女孩,问另一个也是女孩的概率(假定生男生女的概率一样)
样本空间为(男男)(女女)(男女)(女男)
A=(已知其中一个是女孩)=)(女女)(男女)(女男)
B=(另一个也是女孩)=(女女)
于是P(B/A)=P(AB)/P(A)=(1/4)/(3/4)=1/3
【22】有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐分成50、90克各一份?
140->70+70 70->35+35
35+70=105
105->50+7 + 55+2
55+35=90
【23】芯片测试:有2k块芯片,已知好芯片比坏芯片多。请设计算法从其中找出一片好芯片,说明你所用的比较次数上限。其中:好芯片和其它芯片比较时,能正确给出另一块芯片是好还是坏;坏芯片和其它芯片比较时,会随机的给出好或是坏。
把第一块芯片与其它逐一对比,看看其它芯片对第一块芯片给出的是好是坏,如果给出是好的过半,那么说明这是好芯片,完毕。如果给出的是坏的过半,说明第一块芯片是坏的,那么就要在那些在给出第一块芯片是坏的芯片中,重复上述步骤,直到找到好的芯片为止。
【24】12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重)
12个时可以找出那个是重还是轻,13个时只能找出是哪个球,轻重不知。
把球编为①②③④⑤⑥⑦⑧⑨⑩⑾⑿。(13个时编号为⒀)
第一次称:先把①②③④与⑤⑥⑦⑧放天平两边,
㈠如相等,说明特别球在剩下4个球中。
把①⑨与⑩⑾作第二次称量,
⒈如相等,说明⑿特别,把①与⑿作第三次称量即可判断是⑿是重还是轻
⒉如①⑨<⑩⑾说明要么是⑩⑾中有一个重的,要么⑨是轻的。
把⑩与⑾作第三次称量,如相等说明⑨轻,不等可找出谁是重球。
⒊如①⑨>⑩⑾说明要么是⑩⑾中有一个轻的,要么⑨是重的。
把⑩与⑾作第三次称量,如相等说明⑨重,不等可找出谁是轻球。
㈡如左边<右边,说明左边有轻的或右边有重的
把①②⑤与③④⑥做第二次称量
⒈如相等,说明⑦⑧中有一个重,把①与⑦作第三次称量即可判断是⑦与⑧中谁是重球
⒉如①②⑤<③④⑥说明要么是①②中有一个轻的,要么⑥是重的。
把①与②作第三次称量,如相等说明⑥重,不等可找出谁是轻球。
⒊如①②⑤>③④⑥说明要么是⑤是重的,要么③④中有一个是轻的。
把③与④作第三次称量,如相等说明⑤重,不等可找出谁是轻球。
㈢如左边>右边,参照㈡相反进行。
当13个球时,第㈠步以后如下进行。
把①⑨与⑩⑾作第二次称量,
⒈如相等,说明⑿⒀特别,把①与⑿作第三次称量即可判断是⑿还是⒀特别,但判断不了轻重了。
⒉不等的情况参见第㈠步的⒉⒊
【25】100个人回答五道试题,有81人答对第一题,91人答对第二题,85人答对第三题,79人答对第四题,74人答对第五题,答对三道题或三道题以上的人算及格, 那么,在这100人中,至少有( )人及格。
首先求解原题。每道题的答错人数为(次序不重要):26,21,19,15,9
第3分布层:答错3道题的最多人数为:(26+21+19+15+9)/3=30
第2分布层:答错2道题的最多人数为:(21+19+15+9)/2=32
第1分布层:答错1道题的最多人数为:(19+15+9)/1=43
Max_3=Min(30, 32, 43)=30。因此答案为:100-30=70。
其实,因为26小于30,所以在求出第一分布层后,就可以判断答案为70了。
要让及格的人数最少,就要做到两点:
1.不及格的人答对的题目尽量多,这样就减少了及格的人需要答对的题目的数量,也就只需要更少的及格的人
2.每个及格的人答对的题目数尽量多,这样也能减少及格的人数
由1得每个人都至少做对两道题目
由2得要把剩余的210道题目分给其中的70人: 210/3 = 70,让这70人全部题目都做对,而其它30人只做对了两道题
也很容易给出一个具体的实现方案:
让70人答对全部五道题,11人仅答对第一、二道题,10人仅答对第二、三道题,5人答对第三、四道题,4人仅答对第四、五道题
显然稍有变动都会使及格的人数上升。所以最少及格人数就是70人!
【26】1,11,21,1211,111221,下一个数是什么?
下行是对上一行的解释所以新的应该是3个1 2个2 1个1 :312211
【27】烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? (微软的笔试题)
一,一根绳子从两头烧,烧完就是半个小时。
二,一根要一头烧,一根从两头烧,两头烧完的时候(30分),将剩下的一根另一端点着,烧尽就是45分钟。再从两头点燃第三根,烧尽就是1时15分。
【28】共有三类药,分别重1g,2g,3g,放到若干个瓶子中,现在能确定每个瓶子中只有其中一种药,且每瓶中的药片足够多,能只称一次就知道各个瓶子中都是盛的哪类药吗?
如果有4类药呢?5类呢?N类呢(N可数)?
如果是共有m个瓶子盛着n类药呢(m,n为正整数,药的质量各不相同但各种药的质量已知) ?
你能只称一次就知道每瓶的药是什么吗?
注:当然是有代价的,称过的药我们就不用了
取1号瓶子1颗,2号瓶子5颗,3号瓶子10颗。一起称量重量。
1,2,3 总重量为 41
1,3,2 总重量为 36
2,1,3 总重量为 37
2,3,1 总重量为 27
3,2,1 总重量为 23
3,1,2 总重量为 28
M类药同样处理
【29】假设在桌上有三个密封的盒,一个盒中有2枚银币(1银币=10便士),一个盒中有2枚镍币(1镍币=5便士),还有一个盒中有1枚银币和1枚镍币。这些盒子被标上10便士、15便士和20便士,但每个标签都是错误的。允许你从一个盒中拿出1枚硬币放在盒前,看到这枚硬币,你能否说出每个盒内装的东西呢?
银币 20分,镍币10分,混合币 15分。将三个盒子分别编号为1,2,3。
每个标签都错误的方法只有两个2,3,1 或 3,1,2。
在标签为15分的盒子里面,取出一个硬币。
如果是银币,则15分的为银币盒子,10分的为混合币盒子,20分的为镍币盒子。
如果是镍币,则15分的为镍币盒子,10分的为银币盒子,20分的为混合币盒子。
【30】有一个大西瓜,用水果刀平整地切,总共切9刀,最多能切成多少份,最少能切成多少份 ?
主要是过程,结果并不是最重要的
最少10块。
最多2^9块,即512块。
【31】一个巨大的圆形水池,周围布满了老鼠洞。猫追老鼠到水池边,老鼠未来得及进洞就掉入水池里。猫继续沿水池边缘企图捉住老鼠(猫不入水)。已知V猫=4V鼠。问老鼠是否有办法摆脱猫的追逐?
当老鼠在中心时候,用时间 R/ T,猫用 πR/ 4T,老鼠不能跑掉。
当老鼠不经过圆心时候,假设圆心角为ɑ,用时间1/2(R*Rsinɑ)/ V,猫用时间 (ɑ/ 360)*2πR/ 4V,因为ɑ小于180,所以不能跑掉。
【32】有三个桶,两个大的可装8斤的水,一个小的可装3斤的水,现在有16斤水装满了两大桶就是8斤的桶,小桶空着,如何把这16斤水分给4个人,每人4斤。没有其他任何工具,4人自备容器,分出去的水不可再要回来。
8 8 0
8 5 3
8 5 0 3
8 2 3
8 0 3 3 2
8 3 0
5 3 3
5 6 0
2 6 3
2 8 1
2 8 0 3 2 1
2 5 3
7 0 3
7 3 0
4 3 3
4 6 0
1 6 3
1 8 1
1 8 0 4 2 1
1 5 3
4 5 0
0 2 3 4 2 1 4
0 0 0 4 4 4 4
【33】今有2匹马、3头牛和4只羊,它们各自的总价都不满10000文钱(古时的货币单位) 。如果2匹马加上1头牛,或者3 头牛加上1只羊,或者4只羊加上1匹马,那么它们各自的总价都正好是10000文钱了。问:马、牛、羊的单价各是多少文钱?
设马的单价是x,牛的单价是y,羊的单价是z
2x+y=10000……(1)
3y+z=10000……(2)
4z+x=10000……(3)
(1)*4+(2)*2+(3)*2=>
10(x+y+z)=80000
x+y+z=8000
或解出
x=3600
y=2800
z=1600
【34】一天harlan的店里来了一位顾客,挑了25元的货,顾客拿出100元,harlan没零钱找不开,就到隔壁飞白的店里把这100元换成零钱,回来给顾客找了75元零钱。过一会飞白来找harlan说刚才的是假钱,harlan马上给飞白换了张真钱,问harlan赔了多少钱?
100元。
【35】两个空心球大小及重量相同但材料不同。一个是金一个是铅。空心球表面图有相同颜色的油漆。现在要求在不破坏表面油漆的条件下用简易方法指出哪个是金的,哪个是铅的。
相同得力原地旋转两个球,两球重心到内壁中心距离不同,线速度不同转得快得是金球。
【36】有23枚硬币在桌上,10枚正面朝上。假设别人蒙住你的眼睛,而你的手又摸不出硬币的反正面。让你用最好的方法把这些硬币分成两堆,每堆正面朝上的硬币个数相同。
选13个为一堆,选10个为一堆,然后将10个硬币全部翻面。
【37】屋里三盏灯,屋外三个开关,一个开关仅控制一盏灯,屋外看不到屋里。怎样只进屋一次就知道哪个开关控制哪盏灯? 四盏呢?
三个灯: 打开两个灯,过一会关闭一个,进去看亮着的;不亮但是发热的;不亮也不发热的
四个灯: 打开两个灯,过一会关闭一个,然后打开一个新的灯,进去看不亮但是发热的;亮但是不发热的;亮而且发热的;不亮也不发热的
【38】2+7-2+7全部有火柴根组成,移动其中任何一根,答案要求为30
说明:因为书写问题作如下解释,2是由横折横三根组成,7是由横折两根组成
将最后一个加号变成217,将第一个加号变成247。
【39】5名海盗抢得了窖藏的100块金子,并打算瓜分这些战利品。这是一些讲民主的海盗 (当然是他们自己特有的民主),他们的习惯是按下面的方式进行分配:
最厉害的一名海盗提出分配方案,然后所有的海盗(包括提出方案者本人)就此方案进行表决。如果50%或更多的海盗赞同此方案,此方案就获得通过并据此分配战利品。否则提出方案的海盗将被扔到海里,然后下一名最厉害的海盗又重复上述过程。所有的海盗都乐于看到他们的一位同伙被扔进海里,不过,如果让他们选择的话他们还是宁可得一笔现金。他们当然也不愿意自己被扔到海里。所有的海盗都是有理性的,而且知道其他的海盗也是有理性的。此外没有两名海盗是同等厉害的——这些海盗按照完全由上到下的等级排好了座次,并且每个人都清楚自己和其他所有人的等级。这些金块不能再分,也不允许几名海盗共有金块,因为任何海盗都不相信他的同伙会遵守关于共享金块的安排。这是一伙每人都只为自己打算的海盗。最凶的一名海盗应当提出什么样的分配方案才能使他获得最多的金子呢?
首先从5号海盗开始,因为他是最安全的,没有被扔下大海的风险,因此他的策略也最为简单,即最好前面的人全都死光光,那么他就可以独得这100枚金币了。
接下来看4号,他的生存机会完全取决于前面还有人存活着,因为如果1号到3号的海盗全都喂了鲨鱼,那么在只剩4号与5号的情况下,不管4号提出怎样的分配方案,5号一定都会投反对票来让4号去喂鲨鱼,以独吞全部的金币。哪怕4号为了保命而讨好5号,提出(0,100)这样的方案让5号独占金币,但是5号还有可能觉得留着4号有危险,而投票反对以让其喂鲨鱼。因此理性的4号是不应该冒这样的风险,把存活的希望寄托在5号的随机选择上的,他惟有支持3号才能绝对保证自身的性命。
再来看3号,他经过上述的逻辑推理之后,就会提出(100,0,0)这样的分配方案,因为他知道4号哪怕一无所获,也还是会无条件的支持他而投赞成票的,那么再加上自己的1票就可以使他稳获这100金币了。 但是2号也经过推理得知了3号的分配方案,那么他就会提出(98,0,1,1)的方案。因为这个方案相对于3号的分配方案,4号和5号至少可以获得1枚金币,理性的4号和5号自然会觉得此方案对他们来说更有利而支持2号,不希望2号出局而由3号来进行分配。这样2号就可以屁颠屁颠的拿走98枚金币了。 不幸的是1号海盗更不是省油的灯,经过一番推理之后也洞悉了2号的分配方案。他将采取的策略是放弃2号,而给3号1枚金币,同时给4号或5号2枚金币,即提出(97,0,1, 2,0)或(97,0,1,0,2)的分配方案。由于1号的分配方案对于3号与4号或5号来说,相比2号的方案可以获得更多的利益,那么他们将会投票支持1号,再加上1号自身的1票,97枚金币就可轻松落入1号的腰包了。
【40】5个囚犯分别按1-5号在装有100颗绿豆的麻袋抓绿豆,规定每人至少抓一颗,而抓得最多和最少的人将被处死,而且他们之间不能交流,但在抓的时候可以摸出剩下的豆子数。问他们中谁的存活几率最大?
提示:
1.他们都是很聪明的人
2.他们的原则是先求保命再去多杀人
3.100颗不必都分完
4.若有重复的情况,则也算最大或最小一并处死
每个人拿的个数必须大于等于2,否则就是死
所以1号最多敢拿50-2*4=42颗,但这也是死,因为2号就拿41颗,剩下17颗,1号也是死 。
所以1号必须让拿了N颗后,再让2号拿后还剩很多,那么我们把100颗分为5份。
如果1号拿21颗,2号就拿20颗,剩下59颗,肯定有一个人拿的少于20颗,所以1号拿21颗死定。
再看1号拿20颗,2号拿21颗的话,剩下也是59颗,可以是20+20+19,2号死定。
那么看2号拿20颗,剩下60颗,3号如果拿21颗,剩下39颗,可以是20+19,3号死定。
所以接着看3号拿20颗,剩下40颗,那么4号怎么拿也是死!而且和5号一起死!要不就全部一起死(都拿20颗)
3号当然怕同归于尽啊,因为4号5号心想怎么也是个死,不如弄死全部。
所以看3号拿19颗,剩下41颗,可以是20+20,20+19,20+21,不管怎么3号都死定了。
所以3号只敢拿20颗。因为可以活不成也弄个全体一起死。
那么4号也同样怕全部20颗的情况,而21颗不能拿,所以他拿19颗。
剩下61颗,可以是20+20+19,20+20+20,20+20+21,他怎么也是个死!
所以4号没得选择,只能拿20颗。至少可以弄得个全部拿20颗一起同归于尽。
同理!5号也只能拿20颗!
这样下去,1-5号都拿20颗,同归于尽!
因为任何一个人拿21个以上或者19个以下(包括)就是单独死或者只死几个。
【41】有5只猴子在海边发现一堆桃子,决定第二天来平分。第二天清晨第一只猴子最早来到,它左分右分分不开就朝海里扔了一只,恰好可以分成5份,它拿上自己的一份走了,第 2,3,4,5只猴子也遇到同样的问题,采用了同样的方法,都是扔掉一只后,恰好可以分成5份。问这堆桃子至少有多少只?
5*5*5*5*5+1= 726
【42】小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天
1)首先分析这10组日期,经观察不难发现,只有6月7日和12月2日这两组日期的日数是唯一的。由此可知,如果小强得知的N是7或者2,那么他必定知道了老师的生日。
2)再分析“小明说:如果我不知道的话,小强肯定也不知道”,而该10组日期的月数分别为3,6,9,12,而且都相应月的日期都有两组以上,所以小明得知M后是不可能知道老师生日的。
3)进一步分析“小明说:如果我不知道的话,小强肯定也不知道”,结合第2步结论,可知小强得知N后也绝不可能知道。
4)结合第3和第1步,可以推断:所有6月和12月的日期都不是老师的生日,因为如果小明得知的M是6,而若小强的N==7,则小强就知道了老师的生日。(由第1步已经推出)同理,如果小明的M==12,若小强的N==2,则小强同样可以知道老师的生日。即:M不等于6和9。现在只剩下“3月4日 3月5日 3月8日 9月1日 9月5日”五组日期。而小强知道了,所以N不等于5(有3月5日和9月5日)此时,小强的N∈(1,4,8)注:此时N虽然有三种可能,但对于小强只要知道其中的一种,就得出结论。所以有“小强说:本来我也不知道,但是现在我知道了”,对于我们则还需要继续推理至此,剩下的可能是“3月4日 3月8日 9月1日”
5)分析“小明说:哦,那我也知道了”,说明M==9,N==1,(N==5已经被排除,3月份的有两组)
【43】一逻辑学家误入某部落,被囚于牢狱,酋长欲意放行,他对逻辑学家说:“今有两门,一为自由,一为死亡,你可任意开启一门。现从两个战士中选择一人负责解答你所提的任何一个问题(Y/N),其中一个天性诚实,一人说谎成性,今后生死任你选择。”逻辑学家沉思片刻,即向一战士发问,然后开门从容离去。逻辑学家应如何发问?
你来自哪个门? 然后向所指向得门走。
【44】“有一牧场已知养牛27头,6天把草吃尽;养牛23头,9天把草吃尽。如果养牛21头,那么几天能把牧场上的草吃尽呢?并且牧场上的草是不断生长的。”
把一头牛一天所吃的牧草看作1,那么就有:
(1)27头牛6天所吃的牧草为:27×6=162 (这162包括牧场原有的草和6天新长的草。)
(2)23头牛9天所吃的牧草为:23×9=207 (这207包括牧场原有的草和9天新长的草。)
(3)1天新长的草为:(207-162)÷(9-6)=15
(4)牧场上原有的草为:27×6-15×6=72
(5)每天新长的草足够15头牛吃,21头牛减去15头,剩下6头吃原牧场的草:
72÷(21-15)=72÷6=12(天)
【45】一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走一公里又要吃掉一根胡萝卜。问:商人共可卖出多少胡萝卜?
假设出沙漠时有1000根萝卜,那么在出沙漠之前一定不只1000根,那么至少要驮两次才会出沙漠,那样从出发地到沙漠边缘都会有往返的里程,那所走的路程将大于3000公里,故最后能卖出萝卜的数量一定是小于1000根的。
那么在走到某一个位置的时候萝卜的总数会恰好是1000根。
因为驴每次最多驮1000,那么为了最大的利用驴,第一次卸下的地点应该是使萝卜的数量为2000的地点。
因为一开始有3000萝卜,驴必须要驮三次,设驴走X公里第一次卸下萝卜
则:5X=1000(吃萝卜的数量,也等于所行走的公里数)
X=200,也就是说第一次只走200公里
验算:驴驮1000根走200公里时剩800根,卸下600根,返回出发地
前两次就囤积了1200根,第三次不用返回则剩800根,则总共是2000根萝卜了。
第二次驴只需要驮两次,设驴走Y公里第二次卸下萝卜
则:3Y=1000,Y=333.3
验算:驴驮1000根走333.3公里时剩667根,卸下334根返回第一次卸萝卜地点
第二次在途中会吃掉334根萝卜,到第二次卸萝卜地点是加上卸下的334根,刚好是1000根。
而此时总共走了:200+333.3=533.3公里,而剩下的466.7公里只需要吃466根萝卜
所以可以卖萝卜的数量就是1000-466=534。
【46】你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时都付费,如果只许你两次把金条弄断,你如何给你的工人付费?
分为, 1,2,4 三段.
第一天, 1个环给工人
第二天, 2个环给工人, 拿回一个环
第三天, 1个环给工人
第四天, 4个环给工人, 拿回1个环,2个环
第五天, 一个环给工人
第六天, 2个环给工人,拿回1个环
第七天, 1个环给工人.
【47】有十瓶药,每瓶里都装有100片药(仿佛现在装一百片的少了,都是十片二十片的,不管咱们就这么来了)其中有八瓶里的药每片重10克,另有两瓶里的药每片重9克。用一个蛮精确的小秤只称一次,如何找出份量较轻的那两个药瓶?
编号1至10,1号取10片,2号取20片,以此类推。
称量所有取出药片,缺少多少,就是哪两个瓶子分量较轻。
【48】一个经理有三个女儿,三个女儿的年龄加起来等于13,三个女儿的年龄乘起来等于经理自己的年龄,有一个下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,这时经理说只有一个女儿的头发是黑的,然后这个下属就知道了经理三个女儿的年龄。请问三个女儿的年龄分别是多少?为什么?
显然3个女儿的年龄都不为0,要不爸爸就为0岁了,因此女儿的年龄都大于等于1岁。这样可以得下面的情况:
1*1*11=11,1*2**10=20,1*3*9=27,1*4*8=32,1*5*7=35,1*6*6= 36,2*2*9=36,2*3*8=48,2*4*7=56,2*5*6=60,3*3*7=63,3*4*6=72,3*5*5=75,4*4*5=80
因为下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,说明经理是36岁所以3个女儿的年龄只有2种情况,经理又说只有一个女儿的头发是黑的,说明只有一个女儿是比较大的其他的都比较小,头发还没有长成黑色的,所以3个女儿的年龄分别为2,2,9
【49】有三个人去住旅馆,住三间房每一间房$10元,于是他们一共付给老板$30。第二天老板觉得三间房只需要$25元就够了,于是叫小弟退回$5给三位客人谁知小弟贪心,只退回每人$1自己偷偷拿了$2,这样一来便等于那三位客人每人各花了九元,于是三个人一共花了$27,再加上小弟独吞了不$2总共是$29。可是当初他们三个人一共付出$30那么还有$1呢?
小弟独吞的3元已经计量在28元成本中,退回钱数为3*9=27, 1= 28-27
【50】有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜了的布质、大小完全相同,而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?
把每双袜子的商标撕开,然后每人拿每双的一只
【51】有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以每小时20公里的速度从纽约开往洛杉矶。如果有一只鸟以30公里每小时的速度和两辆火车同时启动,从洛杉矶出发碰到另一辆车后返回,依次在两辆火车来回飞行,直到两辆火车相遇,请问这只小鸟飞行了多长距离?
S1= (15+ 20)t
S2= 30t
得到S2= 6/7 S1,小鸟飞行两地距离的6/7。
【52】你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中得到红球的准确几率是多少?
一个罐子放一个红球,另一个罐子放49个红球和50个蓝球,概率接近75%
【53】你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1。只称量一次如何判断哪个罐子的药被污染了?
1号罐取一个药片,2号罐取两个药片,3号罐取3个药片,4号罐取4个药片称量总重量,比正常重量重几就是几号罐子被污染了。
【54】一群人开舞会每人头 上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。 每个人都能看到其它人帽子的颜色却看不到自己的。主持人先让大家看看别人头上戴的是什幺帽子,然后关灯。如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯没有声音。于是再开灯,大家再看一遍关灯时仍然鸦雀无声。一直到第三次关灯才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?
1. 若是两个人,设A、B是黑帽子,第二次关灯就会有人打耳光。原因是A看到B第一次没打耳光,就知道B也一定看到了有带黑帽子的人,可A除了知道B带黑帽子外,其他人都是白帽子,就可推出他自己是带黑帽子的人!同理B也是这么想的,这样第二次熄灯会有两个耳光的声音。
2. 如果是三个人A,B,C。A第一次没打耳光,因为他看到B,C都是带黑帽子的;而且假设自己带的是白帽子,这样只有BC戴的是黑帽子;按照只有两个人带黑帽子的推论,第二次应该有人打耳光;可第二次却没有。。。于是他知道B和C一定看到了除BC之外的其他人带了黑帽子,于是他知道BC看到的那个人一定是他,所以第三次有三个人打了自己一个耳光!
【55】两个圆环,半径分别是1和2,小圆在大圆内部绕大圆圆周一周,问小圆自身转了几 周?如果在大圆的外部,小圆自身转几周呢?
小圆周长2π,大圆周长4π,小圆饶大圆内部一周,小圆转2圈,在大圆外部,小圆转2圈。
【56】 1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水?
找人借一个瓶子20元买汽水,20个瓶子换10汽水,10空瓶换5汽水,5空瓶加上借来的空瓶换三汽水,三瓶子换1汽水剩余1瓶子,1空瓶加上剩余空瓶换1汽水,剩余1空瓶还给别人20+10+5+3+1+1 = 40瓶。
或者,两个空瓶换一瓶汽水得出汽水(不含瓶)成本等于空瓶成本为5毛。20块等于40个5毛,所以40瓶。
【57】有3顶红帽子4顶黑帽子5顶白帽子。让10个人从矮到高站成一队,给他们每个人头上戴一顶帽子。每个人都看不见自己戴的帽子的颜色,却只能看见站在前面那些人的帽子颜色(所以最后一个人可以看见前面9个人头上帽子的颜色,而最前面那个人谁的帽子都看不见。现在从最后那个人开始,问他是不是知道自己戴的帽子颜色,如果他回 答说不知道,就继续问他前面那个人。假设最前面那个人一定会知道自己戴的是黑帽子,为什么?
一共3红4黑5白,第十个人不知道的话,可推出前9个人的所有可能情况:
红 黑 白
3 3 3
3 2 4
3 1 5
2 3 4
2 2 5
1 3 5
如果第九个人不知道的话,可推出前8个人的所有可能情况:
红 黑 白
1 2 5
1 3 4
2 1 5
2 2 4
2 3 3
3 1 4
3 2 3
由此类推可知,当推倒第六个人时会发现他已经肯定知道他自己戴的是什么颜色的帽子了。
【58】假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?
拿出4个,然后按照6的倍数和另外一人分别拿球,即
另外一人拿1个,我拿5个
另外一人拿2个,我拿4个
另外一人拿3个,我拿3个
另外一人拿4个,我拿2个
另外一人拿5个,我拿1个.
最终100个在我手上
【59】据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊用这两个勺子在酒缸里舀酒并倒来倒去,居然量出了2两酒,聪明的你能做到吗?
7两倒入11两
再用7两倒入11两装满,7两中剩余3两
倒出11两,将3两倒入11两,用7两两次倒入11两装满,7两中剩余6两
将11两倒出,将6两倒入,然后用7两倒入11两,剩余2两
【60】一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
我要到你的国家去,请问怎么走?然后走向路人所指方向的相反方向
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125398.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...