程序员面试智力题(一)

1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费?

参考答案:

day1 给1 段, 
  day2 让工人把1 段归还给2 段, 
  day3 给1 段, 
  day4 归还1 2 段,给4 段。 
  day5 依次类推…… 

2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。

参考答案: 

    面对这样的怪题,有些应聘者绞尽脑汁也无法分成;而有些应聘者却感到 
此题实际很简单,把切成的8份蛋糕先拿出7份分给7人,剩下的1份连蛋糕盒一起分 
给第8个人。 

3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问:小明一家如何过桥?

参考答案:

1、小明和小明弟弟过桥,需要花费3秒(小明弟弟慢,花3秒),计T1 = 3秒,总用时TC=3秒;

2、小明回来,需要花费1秒,记T2=1秒,总用时TC=4秒;

        3、小明爷爷和小明妈妈一起过桥,需要花费12秒,记T3=12,总用时TC=16秒;

        4、小明弟弟回来,需要花费3秒,记T4=3秒,总用时TC=19秒;

        5、小明和小明爸爸一起过桥,需要花费6秒,记T5=6秒,总用时TC=25秒;
        6、小明回来,需要花费1秒,记T6=1秒,总用时TC=26秒;
        7、小明和小明弟弟一起过桥,需要花费3秒,记T7=3秒,总用时TC=29秒;

这样,在第3步,小明爷爷和妈妈过桥后留下,第5步,小明爸爸过桥后留下,第7步,小明和小明弟弟过桥后,一家人成功在30秒内过桥。


4、一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少 有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看 看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自 己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦 雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑 帽子?


参考答案:

假如只有一个人戴黑帽子,那他看到所有人都戴白帽,在第一次关灯时就 
应自打耳光,所以应该不止一个人戴黑帽子;如果有两顶黑帽子,第一次两人都只 
看到对方头上的黑帽子,不敢确定自己的颜色,但到第二次关灯,这两人应该明白 
,如果自己戴着白帽,那对方早在上一次就应打耳光了,因此自己戴的也是黑帽子 
,于是也会有耳光声响起;可事实是第三次才响起了耳光声,说明全场不止两顶黑 
帽,依此类推,应该是关了几次灯,有几顶黑帽。

5、请估算一下CN TOWER电视塔的质量。

参考答案:

比如你怎样快速估算支架和柱子的高度、球的半径,算出各部分的体积等 
等。招聘官的说法:"就CNTOWER这道题来说,它和一般的谜语或智力题还是有区别 
的。我们称这类题为’快速估算题’,主要考的是快速估算的能力,这是开发软件 
必备的能力之一。当然,题目只是手段,不是目的,最终得到一个结果固然是需要 
的,但更重要的是对考生得出这个结果的过程也就是方法的考察。"Mr Miller为记 
者举例说明了一种比较合理的答法,他首先在纸上画出了CN TOWER的草图,然后快 
速估算支架和各柱的高度,以及球的半径,算出各部分体积,然后和各部分密度运 
算,最后相加得出一个结果。 
  这一类的题目其实很多,如:"估算一下密西西比河里的水的质量。""如果你 
是田纳西州州长,请估算一下治理好康柏兰河的污染需要多长时间。" 
  "估算一下一个行进在小雨中的人5分钟内身上淋到的雨的质量。" 
  Mr Miller接着解释道:"像这样的题目,包括一些推理题,考的都是人的 
ProblemSolving(解决问题的能力),不是哪道题你记住了答案就可以了的。" 
  对于公司招聘的宗旨,Mr Miller强调了四点,这些是有创造性的公司普遍注 
重的员工素质,是想要到知名企业实现自己的事业梦想的人都要具备的素质和能力 。 
  要求一:RawSmart(纯粹智慧),与知识无关。 
  要求二:Long-termPotential(长远学习能力)。 
  要求三:TechnicSkills(技能)。 
  要求四:Professionalism(职业态度)。 

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

参考答案:

她的回答是:选择前五层楼都不拿,观察各层钻石的大小,做到心中有数 
。后五层楼再选择,选择大小接近前五层楼出现过最大钻石大小的钻石。她至今也 
不知道这道题的准确答案,"也许就没有准确答案,就是考一下你的思路,"她如是 
说。 

 类似的试题还有“你认为北京有多少公共汽车站?”等,你可以随便给出答案,5家或者5000家,但你得有理由。

7、U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥 的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一 次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把 手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行 速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花 2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内 过桥呢?

参考答案:

	1、Bono和Edge同时过桥用时2分。  2、Bono返回,用时1分。(Edge返回也行)。  3、Adam和Larry同时过桥。用时间10分。  4、Edge返回用时2分  5、Bono和Edge同时过桥用时2分  共用2+1+10+2+2=17(分)

8、烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 

参考答案:

半小时:两头同时烧。

一个小时十五分钟:

一根正常烧,一根两头烧。

在两头烧完的一刹那,把正常烧的那根的另一头也点燃。这根烧完后是45分钟。

在烧完后的一刹那,在把一根两头烧。合计一个小时十五分钟。

9、为什么下水道的盖子是圆的?

参考答案:

主考官认为的最好回答是:正方形的盖子容易掉到洞里去。想一想,如果盖子真掉进去的话,那么不是发生伤人事故,就是盖子会掉到水里。为什么正方形的盖子容易掉下去呢?这是因为正方形的对角线是其边长的约1.414倍。如果把一个正方形盖子垂直地立起来,稍微一转,它就会很容易掉到下水道里去。与此相反,圆的直径都是等长的,这使它很难掉进去。 一种诙谐回答是:下水道的洞口是圆形的,盖子当然也应该是圆的。那么为什么下水道的洞口是圆形的?答案是因为圆形的洞比方形的洞好挖。 还有另外一种答案:在进行短距离搬运时,圆形的盖子可以很方便地通过滚动的方法来搬运,而方形的盖子就不容易搬运,你需要借助手推车或者由两个人抬着走。再有一点就是用圆形盖子盖住洞口时,不需要怎么调整就可以与洞口严丝合缝。 这个问题恐怕是微软最为有名的面试问题了。由于“曝光率”太高,微软在面试中已经停止使用这个问题了。

10、美国有多少辆加油站(汽车)?

参考答案:

这个乍看让人有些摸不着头脑的问题时,你可能要从问这个国家有多少小 
汽车入手。面试者也许会告诉你这个数字,但也有可能说:"我不知道,你来告诉 
我。"那么,你对自己说,美国的人口是2.75亿。你可以猜测,如果平均每个家庭 
(包括单身)的规模是2.5人,你的计算机会告诉你,共有1.1亿个家庭。你回忆起 
在什么地方听说过,平均每个家庭拥有1.8辆小汽车,那么美国大约会有1.98亿辆 
小汽车。接着,只要你算出替1.98亿辆小汽车服务需要多少加油站,你就把问题解 
决了。重要的不是加油站的数字,而是你得出这个数字的方法。

11、有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐 分成50、90克各一份?

参考答案:

先用天平把140g分成两等份,每份70g 在用天平把其中一份70g分成两等份,每份35g 取其中一份35g放到天平的一端,把7g的砝码也放到这一段,再把2g的砝码放到天平的另一端。从7g砝码一端移取盐到2g砝码的一端,知道天平平衡。这时,2g砝码一端盐的量为20g。把这20g和已开始分出的未动一份70g盐放在一起,就是90g,其他的盐放在一起,就是50g。

12、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以第 小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,以外30公里每小时的速度和 两辆火车现时启动,从洛杉矶出发,碰到另辆车后返回,依次在两辆火车来回的飞 行,直道两面辆火车相遇,请问,这只小鸟飞行了多长距离?

参考答案:

答案很容易计算的: 
  假设洛杉矶到纽约的距离为s 
  那小鸟飞行的距离就是(s/(15+20))*30。

13、你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机 选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中,得到 红球的准确几率是多少?

参考答案:

一个罐子放一个红球,另一个罐子放49个红球和50个蓝球,概率接近75%. 这是所能达到的最大概率了。 实际上,只要一个罐子放<50个红球,不放篮球, 另一个罐子放剩下的球,拿出红球的概率就大于50%
无答案,看你有没有魄力坚持自己的意见。 

14、想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒 上下?

参考答案:

因为人的两眼在水平方向上对称。

15、你有四人装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被 污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了?

参考答案:

从第一盒中取出一颗,第二盒中取出2 颗,第三盒中取出三颗。 依次类推,称其总量。再根据总重量增加多少判断污染的药罐。

16、如果你有无穷多的水,一个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 夸脱水。

17、你有一桶果冻,其中有黄色,绿色,红色三种,,闭上眼睛选出同样颜色 的两个,抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果 冻?

参考答案:

4个而除了第一种情况,其他的情况你都可以确定有两个同种颜色的果冻
抓第四个的时候,不管是什么颜色的果冻都可以确定下来你的问题了
所以是最少四个果冻

18、将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?

参考答案:

向正确的方向旋转就OK了(注意,没说开哪个车门)

19、对一批编号为1~100 全部开关朝上开的灯进行以下操作 凡是1 的倍数反方向拨一次开关2 的倍数反方向又拨一次开关3 的倍数反方向 又拨一次开关。 问最后为关熄状态的灯的编号。

参考答案:

素数是关,其余是开。 


20、假设时钟到了12点。注意时针和分针重叠在一起。在一天之中,时针和分 针共重叠多少次?你知道它们重叠时的具体时间吗?

参考答案:

这可以归结为速度差的相遇问题,分钟每走一圈都会和时针相遇,即一天中有几小时就会相遇几次.重点是算相遇的具体时间.12点过后分针和时针的第一圈,他们的路程是一圈(60分),速度差是55分,即时间是60/55.就是说第一圈他们大约在一点另5分.第二圈,他们的路程是120分钟,速度差还是55分,他们相遇的时间大约是2点另10分.依次类推。

22次。 
0点0分一次,1点5分多一点(准确说是1×60/11分,也就是5分27秒27)一次,2点11分差一点(2×60/11分)一次………………10点55分差一点(10×60/11分)一次,11点60分(也就是12点0分)一次,然后是13点6分差一点一次……最后一次就是22点54分32秒73。下一次重合就到了第二天的0点0分了。

关于“分别是几点”的假设推论:设a、b为同等时间内时针和分针分别走过的角度,时针分针分别以A B代表 ,n表示分针已经第n次穿越时针 m[1,正无穷) m为整数   X"m表示X的m次方
b=12a a=b/12 =〉A B次重合时 b=30(n+1)+30(n+1)*1/12+30(n+1)*1/12*1/12+……+30(n+1)*1/12"m (这里有个假设条件:当30(n+1)/12"m无限趋近于0时,猜想认为此时AB重合。)整理后:b=30(n+1)+30(n+1)/12+30(n+1)/(12"2)+……+30(n+1)/12"m AB的重合时间:(n+1)时b/6分
但鉴于“分”一般都用正整数表示,所以可以四舍五入取到个位或是将小数点后的数乘60转化为秒。

1:05之后有一次,2:10之后有一次,3:15之后有一次,4:20之后有一次,5:25之后有一次,6:30之后有一次,7:35之后有一次,8:40之后有一次,9:45之后有一次,10:50之后有一次,12:00整有一次。24小时之中总共22次。


21、一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这 3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。 确定每个开关具体管哪盏灯。

参考答案:
先在门外打开一个开关,等一会儿,然后关掉它,再另开一个开关,再走到屋内,热而不亮的一个灯泡是第一个开关所控制,亮的便是第二个,不亮又不热的便是第三个开关所控制的了。
22、假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将 两个球放在天平上对比。最少要称多少次才能找出这个较重的球?

参考答案:

两次。
第一次:各取3个分放天平两边,如平衡,则重的在另两个中,再把另两个分放天平两边,哪边重些哪边就是那个重的球;
第二次:在不平衡的情况下,把稍重的一边取两个分放天平两边,如平衡则另一个为稍重的,如不平衡重的一边为稍重的一个。


23、有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全 部通过这座桥。这时是晚上。她们只有一个手电筒。最多只能让两个人同时过桥。 不管是谁过桥,不管是一个人还是两个人,必须要带着手电筒。手电筒必须要传来 传去,不能扔过去。每个女人过桥的速度不同,两个人的速度必须以较慢的那个人 的速度过桥。
  第一个女人:过桥需要1分钟;
  第二个女人:过桥需要2分钟;
  第三个女人:过桥需要5分钟;
  第四个女人:过桥需要10分钟。

比如,如果第一个女人与第4个女人首先过桥,等她们过去时,已经过去了10 分钟。如果让第4个女人将手电筒送回去,那么等她到达桥的另一端时,总共用去 了20分钟,行动也就失败了。怎样让这4个女人在17分钟内过桥?还有别的什么方 法?

参考答案:

第一个女人,第二个女人先过桥----用时2分钟 第一个女人回来送手电-----------用时1分钟 第三个女人,第四个女人再过桥----用时10分钟 第二个女人回来送手电-----------用时2分钟 第一个女人,第二个女人最后过桥----用时2分钟 共用了17分钟!!



24、已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。 甲问乙:"你知道是哪两个数吗?"乙说:"不知道"; 乙问甲:"你知道是哪两个数吗?"甲说:"也不知道"; 于是,乙说:"那我知道了"; 随后甲也说:"那我也知道了"; 这两个数是什么?

参考答案:

允许两数重复的情况下 
  答案为x=1,y=4;甲知道和A=x+y=5,乙知道积B=x*y=4 
  不允许两数重复的情况下有两种答案 
  答案1:为x=1,y=6;甲知道和A=x+y=7,乙知道积B=x*y=6 
  答案2:为x=1,y=8;甲知道和A=x+y=9,乙知道积B=x*y=8 
  解: 
  设这两个数为x,y. 
  甲知道两数之和 A=x+y; 
  乙知道两数之积 B=x*y; 
  该题分两种情况 : 
  允许重复, 有(1 <= x <= y <= 30); 
  不允许重复,有(1 <= x < y <= 30); 
  当不允许重复,即(1 <= x < y <= 30); 
  1)由题设条件:乙不知道答案 
  <=> B=x*y 解不唯一 
  => B=x*y 为非质数 
  又∵ x ≠ y 
  ∴ B ≠ k*k (其中k∈N) 
  结论(推论1): 
  B=x*y 非质数且 B ≠ k*k (其中k∈N) 
  即:B ∈(6,8,10,12,14,15,18,20...) 
  证明过程略。 
  2)由题设条件:甲不知道答案 
  <=> A=x+y 解不唯一 
  => A >= 5; 
  分两种情况: 
  A=5,A=6时x,y有双解 
  A>=7 时x,y有三重及三重以上解 
  假设 A=x+y=5 
  则有双解 
  x1=1,y1=4; 
  x2=2,y2=3 
  代入公式B=x*y: 
  B1=x1*y1=1*4=4;(不满足推论1,舍去) 
  B2=x2*y2=2*3=6; 
  得到唯一解x=2,y=3即甲知道答案。 
  与题设条件:"甲不知道答案"相矛盾 , 
  故假设不成立,A=x+y≠5 
  假设 A=x+y=6 
  则有双解。 
  x1=1,y1=5; 
  x2=2,y2=4 
  代入公式B=x*y: 
  B1=x1*y1=1*5=5;(不满足推论1,舍去) 
  B2=x2*y2=2*4=8; 
  得到唯一解x=2,y=4 
  即甲知道答案 
  与题设条件:"甲不知道答案"相矛盾 
  故假设不成立,A=x+y≠6 
  当A>=7时 
  ∵ x,y的解至少存在两种满足推论1的解 
  B1=x1*y1=2*(A-2) 
  B2=x2*y2=3*(A-3) 
  ∴ 符合条件 
  结论(推论2):A >= 7 
  3)由题设条件:乙说"那我知道了" 
  =>乙通过已知条件B=x*y及推论(1)(2)可以得出唯一解 
  即: 
  A=x+y, A >= 7 
  B=x*y, B ∈(6,8,10,12,14,15,16,18,20...) 
  1 <= x < y <= 30 
  x,y存在唯一解 
  当 B=6 时:有两组解 
  x1=1,y1=6 
  x2=2,y2=3 (∵ x2+y2=2+3=5 < 7∴不合题意,舍去) 
  得到唯一解 x=1,y=6 
  当 B=8 时:有两组解 
  x1=1,y1=8 
  x2=2,y2=4 (∵ x2+y2=2+4=6 < 7∴不合题意,舍去) 
  得到唯一解 x=1,y=8 
  当 B>8 时:容易证明均为多重解 
  结论: 
  当B=6时有唯一解 x=1,y=6当B=8时有唯一解 x=1,y=8 
  4)由题设条件:甲说"那我也知道了" 
  => 甲通过已知条件A=x+y及推论(3)可以得出唯一解 
  综上所述,原题所求有两组解: 
  x1=1,y1=6 
  x2=1,y2=8 
  当x<=y时,有(1 <= x <= y <= 30); 
  同理可得唯一解 x=1,y=4 

25、4,4,10,10,加减乘除,怎么出24点?

参考答案:

(10×10-4)÷4=24
44-10-10=24

26、1000!有几位数,为什么?

参考答案:
Lg(1000!)=sum(Lg(n)) 
  n=1 
  用3 段折线代替曲线可以得到 
  10(0+1)/2+90(1+2)/2+900(2+3)/2=2390 
  作为近似结果,好象1500~3000 都算对 
27、F(n)=1 n>8 n<12
  F(n)=2 n<2
  F(n)=3 n=6
  F(n)=4 n=other
  使用+ - * /和sign(n)函数组合出F(n)函数
  sign(n)=0 n=0
  sign(n)=-1 n<0
  sign(n)=1 n>0

参考答案:

F(n)=1 n>8 n<12 
  F(n)=2 n<2 
  F(n)=3 n=6 
  F(n)=4 n=other 
  使用+ - * /和sign(n)函数组合出F(n)函数 
  sign(n)=0 n=0 
  sign(n)=-1 n<0 
  :sign(n)=1 n>0 
  解:只要注意[sign(n-m)*sign(m-n)+1]在n=m 处取1 其他点取0 就可以了 



你可能感兴趣的:(c,程序员,面试,招聘)