黑马程序员技术交流社区
标题:
JAVA智力题——(三)
[打印本页]
作者:
hehaiwei
时间:
2016-3-7 20:07
标题:
JAVA智力题——(三)
21、拿最大钻石问题
一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最大的一颗?
解答:选择前五层楼都不拿,观察各层钻石的大小,做到心中有数。后五层楼再选择,选择大小接近前五层楼出现过最大钻石大小的钻石。
22、拿手电过桥问题
U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内过桥呢?
解答:
1和2先过去:2
1回来:1
5和10 过去:10
2 回来:2
1和2过去: 2
共:17
23、为什么下水道的盖子是圆的?
解答:从麻省理工大学一位计算机系教授那里听来的答案,首先在同等用材的情况下他的面积最大。第二因为如果是方的、长方的或椭圆的,那无聊之徒拎起来它就可以直接扔进地下道啦!但圆形的盖子嘛,就可以避免这种情况了。这种问题是非常开放性的问题,言之有理即可!
24、美国有多少辆加油站(汽车)?
解答:这个乍看让人有些摸不着头脑的问题时,你可能要从问这个国家有多少小汽车入手。面试者也许会告诉你这个数字,但也有可能说:"我不知道,你来告诉我。"那么,你对自己说,美国的人口是2.75亿。你可以猜测,如果平均每个家庭(包括单身)的规模是2.5人,你的计算机会告诉你,共有1.1亿个家庭。你回忆起在什么地方听说过,平均每个家庭拥有1.8辆小汽车,那么美国大约会有1.98亿辆小汽车。接着,只要你算出替1.98亿辆小汽车服务需要多少加油站,你就把问题解决了。重要的不是加油站的数字,而是你得出这个数字的方法。
25、两个桶称出准确的水
如果你有无穷多的水,一个3夸脱的和一个5夸脱的提桶,你如何准确称出4夸脱的水?
解答:
A、先用3 夸脱的桶装满,倒入5 夸脱。以下简称3->5) , 在5 夸脱桶中做好标记b1,简称b1)。
B、用3 继续装水倒满5 空3 将5 中水倒入3 直到b1 在3 中做标记b2。
C、用5 继续装水倒满3 空5 将3 中水倒入5 直到b2。
D、空3 将5 中水倒入3 标记为b3。
E、装满5 空3 将5 中水倒入3 直到3 中水到b3 。 结束了,现在5 中水为标准的4 夸脱水。
26、诚实和说谎的连个人
一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
解答:问其中一人:另外一个人会说哪一条路是通往诚实国的?回答者所指的那条路必然是通往说谎国的。
27、12个球一个天平问题
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)
解答:
12个球。 第一次:4,4 如果平了:那么剩下的球中取3放左边,取3个好球放右边,称:如果左边重,那么取两个球称一下,哪个重哪个是次品,平的话第三个重,是次品,轻的话同理如果平了,那么剩下一个次品,还可根据需要称出次品比正品轻或者重如果不平: 那么不妨设左边重右边轻,为了便于说明,将左边4颗称为重球,右边4颗称为轻球,剩下4颗称为好球取重球2颗,轻球2颗放在左侧,右侧放3颗好球和一颗轻球如果左边重称那两颗重球,重的一个次品,平的话右边轻球次品如果右边重称左边两颗轻球,轻的一个次品如果平称剩下两颗重球,重的一个次品,平的话剩下那颗轻球次品
13个球。 第一次:4,4,如果平了剩5颗球用上面的方法仍旧能找出次品,只是不能知道次品是重是轻如果不平,同上。
28、海盗分金币的问题
传说,从前有五个海盗抢得了100枚金币.他们通过了一个如何确定选用谁的分配方案的安排.即:
1.抽签决定各人的号码(1,2,3,4,5);
2.先由1号提出分配方案,然后5个人表决.当且仅当超过半数人同意时,方案才算被通过,否则他将被扔入大海喂鲨鱼;
3.当1号死后,再由2号提方案,4个人表决,当且仅当超过半数同意时,方案才算通过,否则2号同样将被扔入大海喂鲨鱼;
4.往下依次类推……
根据上面的这个故事,现在提出如下的一个问题。即,我们假定每个海盗都是很聪明的人,并且都能够很理智地判断自己的得失,从而做出最佳的选择,那么第一个海盗应当提出怎样的分配方案才能够使自己不被扔入大海喂鲨鱼,而且收益还能达到最大化呢?
解答: 倒推,从后往前推,人数依次增加如 果1-3号强盗都喂了鲨鱼,只剩4号和5号的话,5号一定投反对票让4号喂鲨鱼,以独吞全部金币。所以,4号惟有支持3号才能保命。3号知道这一点,就会 提(100,0,0)的分配方案,对4号、5号一毛不拔而将全部金币归为已有,因为他知道4号一无所获但还是会投赞成票,再加上自己一票,他的方案即可通 过。2号推知到3号的方案,就会提出(98,0,1,1)的方案,即放弃3号,而给予4号和5号各 一枚金币。由于该方案对于4号和5号来说比在3号分配时更为有利,他们将支持他而不希望他出局而由3号来分配。这样,2号将拿走98枚金币。2号的方案会被1号所洞悉,1号并将提出(97,0,1,2,0)或(97,0,1,0,2)的方案,即放弃2号,而给3号一枚金币,同时给4号(或5号)2枚金币。由于1号的这一方 案对于3号和4号(或5号)来说,相比2号分配时更优,他们将投1号的赞成票,再加上1号自己的票,1号的方案可获通 过,97枚金币可轻松落入囊中。这无疑是1号能够获取最大收益的方案了!
29、飞机加油问题
每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一 架飞机绕地球飞半圈。为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
解答: 猜想 验证
猜想:
至 少需要出动5 架飞机。思路是这样的,一架飞机要想完成绕地球一周的飞行,至少需要别的飞机给它提供1 箱油。最划算的办法显然是,派飞机和它结伴飞行前四分之一周以及后四分之一周,(因为这两段路程距离基地近所花代价小。)由它独立飞行中间的半程。必须保 证两个加油点,前四分之一处,加满,后四分之一点,及时补充。那么必须有两架飞机与目标机结伴飞行四分之一周,这两架飞机需要做折返飞行,正好花费2 箱油。所以补充油的任务实际上该由另外两架飞机完成。这两架飞机飞八分之一周,做折返飞,正好富余1 箱油。因此,5 架飞机刚好完成任务。到了此时,问题只考虑了一半。能够提供多少油并不意味着就能够全部接受,受到结伴飞行的距离,即腾 出的油箱空间所限制。而以下做法正 好可以满足此条件。
验证:
3架飞机同时从机场出发,飞行八分之一周,各耗油四分之一。此时某架飞机给其余两架补满油,自己返回基地。 另一机和目标机结伴,飞至四分之一周,给目标机补满油,自己返回。目标机独自飞行半周,与从基地反向出发的一机相遇,2 机将油平分,飞至最后八分之一 处,与从基地反向出发的另一机相遇,各分四分之一油,返回。
30、汽车加油问题
一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油
解答:严格证明该模型最优比较麻烦,但确实可证,大胆猜想是解题关键。题目可归结为求数列an=500/(2n 1) n=0,1,2,3......的和Sn什么时候大于等于1000,解得n>6当n=6时,S6=977.57,所以第一个中转点离起始位置距离为1000-977.57=22.43公里.所以第一次中转之前共耗油22.43*(2*7 1)=336.50升此后每次中转耗油500升,所以总耗油量为7*500 336.50=3836.50升。
作者:
a8256003
时间:
2016-3-7 20:58
费脑故事
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2