程序员智力面试题(一)
Posted szitcast
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员智力面试题(一)相关的知识,希望对你有一定的参考价值。
1、史密斯住在第十三号大街,这条大街上的房子的编号是从13号 到1300号。琼斯想知道史密斯所住的房子的号码。
琼斯问道:它小于500吗? 史密斯作了答复,但他讲了谎话。
琼斯问道:它是个平方数吗? 史密斯作了答复,但没有说真话。
琼斯问道:它是个立方数吗? 史密斯回答了并讲了真话。
琼斯说道:如果我知道第二位数是否是1,我就能告诉你那所房子的号码。
史密斯告诉了他第二位数是否是1,琼斯也讲了他所认为的号码。
但是,琼斯说错了。
史密斯住的房子是几号?
答案:64号。
琼斯在第四问中问道:“如果我知道第二位数是否是1,我就能告诉你那所房子的号码”?他为什么这么肯定的说出这样的话来,一定是第三问的“它是个立方数吗”史密斯回答一定是"是立方数”!而13-1300之间的立方数只有八个,分别为:?27,64,125,216,343,512,729,1000。同样第二问,“它是个平方数吗?”史密斯回答一定是"不是平方数”,?且第一问中“它小于500吗?” 史密斯作了答复,一定是“大于500” 。所以琼斯才敢说出第四问的话来!(他不知道,史密斯会对他说假话)?因为大于500,是立方数的只有三个!512,729,1000?而729又是平方数,所以他又问第二位是不是“1”,无论是不是1,他都错了!由此而得,房子的号码是:小于500是平方数是立方数?那么,只余下一个数了,他就是64号!
2、A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?
答案:
A把药放进箱子,用自己的锁把箱子锁上。B拿到箱子后,再在箱子上加一把自己的锁。箱子运回A后,A取下自己的锁。箱子再运到B手中时,B取下自己的锁,获得药物。
3、两龟赛跑
有两只乌龟一起赛跑。甲龟到达10米终点线时,乙龟才跑到9米。现在如果让甲龟的起跑线退后1米,这时两龟再同时起跑比赛,问甲、乙两龟是否同时到达终点?
答:甲龟先到,假设速度分别为a,b,在第一个场景中:10/a = 9/b,得到a=10b/9, 现在甲龟后退一米,那么二者所用时间: 11/a, 10/b, 将前面的a带入得到,99/10b, 10b, 显然前者所花时间更少。
4、现有米9公斤以及50克和200克的砝码各一个。问怎样在天平上只称量三次而称出2公斤米?
答:第一次不用砝码,直接把9公斤米平均放到天平两端,称出4.5公斤米;第二次用同样方法称出2.25公斤米;第三次用200+50克的砝码从2.25公斤米中称出0.25公斤米;剩下的就是2公斤米 OK 问题解决!
5、称量罐头
为罐头工厂工作的送货员A,给一家食品公司送了10箱菠萝罐头。每个罐头重量是800克,每箱装20个。正当他送完了货,要回工厂的时候,接到了从工厂打来的电话,说这10箱中有一箱由于机器出了问题而混进了次品,每个罐头缺50克的分量,要送货员把这箱罐头送回工厂以便更换。但是,怎样从中找出到底哪一箱是次品呢?最需要的当然是秤,可是手边又没有。
正在这时,他忽然发现不远的路旁有一台自动称量体重的机器,也就是投进去1元硬币就可以称量一次重量。他的口袋里刚好就有一个1元硬币。当然也就只能量一次。那么他应该怎么充分利用这只有一次的机会,来找到那一箱不符合规格的产品呢?
答:将罐头排成一排,从左向右(反之亦然)取罐头,第一箱取一个,第二箱取两个,以此类推,第九箱取九个,第十箱取十个。全部一起过秤,若少50克,则第一箱为不合格,若少100克,则第二箱为不合格,以此类推,少个50克,即为第几箱不合格。
6.快马加鞭
墨西哥农村现在仍然可以看到人们用马和驴运载货物。一位商人把四匹马从甲村拉到乙村,而从甲村到乙村,A马要花一小时,B马要花两小时,C马要花四小时,D马要花五小时。
这位商人一次只能拉两匹马,回来时他还要骑一匹马,其中以走得慢的那匹马作为从甲村拉到乙村所需的时间。听说有人花了12小时就把四匹马全部从甲村拉到乙村,请问:他是如何办到的?
答案:
甲到乙 AB 2
乙到甲 A 1
甲到乙 CD 5
乙到甲 B 2
甲到乙 AB 2
7.击鼠标
击鼠标比赛现在开始!参赛者有拉尔夫、威利和保罗。
拉尔夫10秒钟能击10下鼠标;威利20秒钟能击20下鼠标;保罗5秒钟能击5下鼠标。以上各人所用的时间是这样计算的;从第一击开始,到最后一击结束。
他们是否打平手?如果不是,谁最先击完40下鼠标?
答案:
n秒钟击n下鼠标其实是击第一下鼠标时才开始计时,实际上击n-1下需要n秒钟,那么若击40下鼠标,拉尔夫需要(40-1)/(9/10)=39/0.9秒,威利需要(40-1)/(19/20)=39/0.95秒,保罗需要(40-1)/(4/5)=39/0.8秒,
因此威利先击完。
8、小明今天提前放学,步行回家10分钟的时候遇见开车接他的爸爸,于是上车一起回家,但回家时间仍比以往晚了一分钟,原因是今天爸爸下班晚了七分钟。请问,小明今天提前几分钟放学?
答案:小明的爸爸晚下班7分钟,然后去接他,却只迟1分钟回家。说明 由于在去接小明的路上 少走了小明步行的 这10分钟的路程的2倍(往返), 而少用了6分钟。所以两人相遇地点 距离学校的路程,换算车行时间是3分钟。(往返6共分钟)。也就是说这段路程车子到学校还要3分钟。而爸爸晚下班的7分钟 - 这3分钟 = 车子遇见小明时比平时晚的时间 : 4分钟。假设提前放学n分钟, n+4=10所以小明提前放学6分钟
9、一个冬日的黄昏,我正漫步街头,突然听到一声枪响,看见不远处一个老人跌向房门,慢慢地倒了下去。我和街上仅有的两个人,先后跑了过去,发现老人背部中弹,已经死去。我看见两个人都戴着手套,便问他们刚才在做什么。
第一位说:“我看见老人刚要锁门,枪一响,他应声而倒,我便立即跑来。”第二位说:“我听到枪声不知发生了什么事情,看到你俩到往这跑,我也就跟了过来。”
钥匙还插在房门的锁眼里,我打开门,走进房间,打电话报警。
警署人员来了以后,我指着一个人说:“把他拘留询问。”
拘留谁?为什么?
答案:拘留第一个说话的人。他知道老人是锁房门,而不是开房门,说明他一直在窥视老人行动。
以上是关于程序员智力面试题(一)的主要内容,如果未能解决你的问题,请参考以下文章