黑马程序员技术交流社区

标题: JAVA智力题(一) [打印本页]

作者: Liveei    时间: 2015-8-28 00:19
标题: JAVA智力题(一)
1、农民分金条问题
题目:你让农民为你工作7天,给他的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费,保证该农民在七天中任意一天结束时都可以领到相应的报酬。(例:第一天结束时他可领到1/7,第三天结束时他可领到3/7)
我当时在面试某企业的时候被问到了这个问题,面试官没有和我说“金条是平分成7段的”。所以我当时把精力都集中在:如何通过2刀将一个金条分成7份的问题上,其实这个问题根本不用我们考虑,题目默认已经平分为7份了,关键是分成7分后再怎么分。当时面试官只给我3分钟时间,所以我绝对悲剧了。
解答:将7份分成1/7,2/7,4/7.第一天结束时给1/7,第二天结束时给2/7,然后将农民手上的1/7要过来。第三天结束时将1/7给农民,第四天将4/7给农民,再将农民手里的3/7要过来,第五天再给1/7,第六天.......

其实这个题很简单,我只是思路没对,其实也不能怪我,当你们做了接下来的第二题后,就大概知道我当时为什么会那么想了。
2、两柱香问题
题目:有两柱不均匀的香,每柱香燃烧完需要1个小时,问:怎样用两柱香切出一个15分钟的时间段?这个题的重点就是怎么切
解答:将甲香的一头点着,将乙香的两头点着,当乙香燃烧完时,说明已经过了半个小时,同时也说明甲香也正好燃烧了一半,此时,将甲香的另一头点着,从此时起到甲香完全烧完,正好15分钟。
3、瞎子翻牌

题目:给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分成两堆,使得每堆牌里正面朝上的牌的张数一样多。瞎子应该怎么做?
(瞎子摸不出牌是正面或者是反面,但是却可以随意翻动每一张牌)
我曾经在参加某企业的笔试的时候,被考了这个题,当时被一个条件给弄迷茫了,如上述:使得每堆牌里正面朝上的牌的张数一样多,我当时的想法就是每堆里5张,因为一共只有10张向上,其实就是自己给想错了,并没有要求加起来10张,只要保证向上的牌数一样就行了。
解答:将52张牌分为2堆,一堆10张,另一堆42张,将10张的那一堆全部翻起来就行了。
分析:
       10张堆                 翻起来后                       42张堆
向上       向下         向上         向下              向上        向下
1             9               9               1                   9           33
2             8               8               2                   8           34
3             7               7               3                   7           35
.....
从上面的分析过程可以看出:10张里面向下的张数和42张里面向上的张数相同,所以只需要将10张堆整体翻一下,向下的牌就向上了,同时和42张里向上的就相同了。
4、100个苹果
桌上有100个苹果,你和另一个人一起拿,一人一次,每次拿的数量大于等于1小于等于5,问:如何拿能保证最后一个苹果由你来拿?
分析:如果要保证拿最后一个,那么就得保证拿到第94个,以此类推,要拿第94个,就要保证拿到第88个、82、76、70...最后只要保证你拿到第四个就行了,所以看下面:
解答:只需要你先拿,第一次拿4个,以后看对方拿的个数,根据对方拿的个数,保证每轮对方和你拿的加起来是6就行了,其实就是保证你拿到4,还要拿到10,16...直到94。
5、10斤酒两个桶
有三口酒缸,分别能装3斤;7斤;10斤。现在10斤的缸装满了酒,在没有称得情况下,怎么把这10斤酒平均分成两个5斤。
解答:第一步,用10斤的先倒入3斤的,将3斤的装满,将3斤的倒入7斤的,再将10斤的缸子中的7斤倒入3斤的装满,将3斤的再倒入7斤的,最后再将10中剩下的4斤倒入3斤的缸子,此时,三个缸子的状态为,10斤中有1斤,7斤的缸子中有6斤,3斤的缸子中有3斤。第二步,用3斤的将7斤的装满,状态为:10斤中有1斤,7斤中有7斤,3斤中有2斤。第三步,将7斤的缸子里的酒全部倒入10斤的缸子,状态:10斤的有8斤,7斤的有0斤,3斤的有2斤。第四步,将3斤的倒入7斤的。状态为:10斤的有8斤,7斤的有2斤,3斤的有0斤。第五步,用10斤的缸子将3斤的缸子装满,10斤的缸子中正好剩余5(8-3)斤,将3斤缸子里的倒入7斤缸子里,也正好5斤。正好实现。

6、微软灯管问题

在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯?据《编程之美》一书中介绍,在微软大厦,没晚都会有一些新员工在会议室测试,灯一亮一灭。可见这个问题有多么古怪!
解答:打开一盏灯10分钟,关掉,打开第二盏,进去看看哪盏亮,摸摸哪盏热,热的是第一个打开的开关开的,亮的是第二个开关开的,另一个就是第三个。
7、经理的三个女儿问题
一个经理有三个女儿,三个女儿的年龄加起来等于13,三个女儿的年龄乘起来等于经理自己的年龄,有一个下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,这时经理说只有一个女儿的头发是黑的,然后这个下属就知道了经理三个女儿的年龄。请问三个女儿的年龄分别是多少?为什么?
答案:三个女儿只有一个有黑头发,说明另两个女儿都很小,大约在3岁以下.如果有个女儿是一岁的话(1,1,11 1,2,10 1,3,9 1,4,8),不论怎样都不成立.如果两个女儿在3岁或3岁以上的话,那样的话家长的年龄就过大了,所以两个小女儿应该都是2岁或一个2岁另一个3岁.(2,2,9或2,3,8)家长的年龄为36或48,大女儿出生时家长的年龄应该是27或40.按常理推断家长有第一个孩子是为27岁比较合理.所以三个女儿分别为2岁,2岁,9岁.经理为36岁.(中国的婴儿一出生是黄色头发的。但过了差不多5岁的时候就头发就开始变黑色的了。);
8、两位盲人问题
他们都各自买了两对黑袜和两对白袜,八对袜了的布质、大小完全相同,而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。 他们每人怎样才能取回黑袜和白袜各两对呢?
答案:每一对分开,一人拿一只,因为袜子不分左右脚的;
9、两辆货车及小鸟问题
有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以每小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从洛杉矶出发,碰到另一辆车后返回,依次在两辆火车来回飞行,直到两辆火车相遇,请问,这只小鸟飞行了多长距离?
答案:要知道纽约与洛杉基的距离,然后算出两列火车相遇要用多少小时,然后用小时×30公里/小时,得出小鸟飞行的距离,
纽约到洛杉矶的路程给漏掉了。设路程s,鸟飞距离则是:{s/(20+15)} * 30;
10、两个罐子+红球+蓝球问题
你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中,得到红球的准确几率是多少?
答案:我的方案是:所有蓝球先装罐,再随机取没有装罐的球,得到红球的几率是100%!!!(哈哈是不是疯了~)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2