微软面试题(二)

第一组题答案:  

  1)三根绳,第一根点燃两端,第二根点燃一端,第三根不点

  第一根绳烧完(30分钟)后,点燃第二根绳的另一端,第二根绳烧完(45分钟)后,点燃第三根绳子两端,第三根绳烧完(1小时15分)后,计时完成

  2)根据抽屉原理,4个

  3)3升装满;3升-〉5升(全注入);3升装满;3升-〉5升(剩1升);5升倒掉;3升-〉5升(注入1升);3升装满;3升-〉5升;完成(另:可用回溯法编程求解)

  4)问其中一人:另外一个人会说哪一条路是通往诚实国的?回答者所指的那条路必然是通往说谎国的。

  5)12个球:

  第一次:4,4   如果平了:

  那么剩下的球中取3放左边,取3个好球放右边,称:

  如果左边重,那么取两个球称一下,哪个重哪个是次品,平的话第三个重,是次品,轻的话同理

  如果平了,那么剩下一个次品,还可根据需要称出次品比正品轻或者重

  如果不平:

  那么不妨设左边重右边轻,为了便于说明,将左边4颗称为重球,右边4颗称为轻球,剩下4颗称为好球

  取重球2颗,轻球2颗放在左侧,右侧放3颗好球和一颗轻球

  如果左边重

  称那两颗重球,重的一个次品,平的话右边轻球次品

  如果右边重

  称左边两颗轻球,轻的一个次品

  如果平

  称剩下两颗重球,重的一个次品,平的话剩下那颗轻球次品

  13个球:

  第一次:4,4,如果平了

  剩5颗球用上面的方法仍旧能找出次品,只是不能知道次品是重是轻

  如果不平,同上 

6)    

  o   o   o

  o   o   o

  o   o   o

  7)

  23次,因为分针要转24圈,时针才能转1圈,而分针和时针重合两次之间的间隔显然> 1小时,它们有23次重合机会,每次重合中秒针有一次重合机会,所以是23次

  重合时间可以对照手表求出,也可列方程求出

  8)

  在地球表面种树,做一个地球内接的正四面体,内接点即为所求

  第二组   无标准答案    

  第三组  

  1.   分成1,2,4三段,第一天给1,第二天给2取回1,第3天给1,第4天给4取回1、2,第5天给1,第6天给2取回1,第七天给1

  2.   求出火车相遇时间,鸟速乘以时间就是鸟飞行的距离

  3.   四个罐子中分别取1,2,3,4颗药丸,称出比正常重多少,即可判断出那个罐子的药被污染

  4.   三个开关分别:关,开,开10分钟,然后进屋,暗且凉的为开关1控制的灯,亮的为开关2控制的灯,暗且热的为开关3控制的灯

  5.   因为可以用1,2,5,10组合成任何需要的货币值,日常习惯为10进制

  6.   题意不理解...*_*

  7.   012345   0126(9)78

  第四组   都是很难的题目    

  第一题:97   0   1   2   0   或者   97   0   1   0   2   (提示:可用逆推法求出)

  第二题:3架飞机5架次,飞法:

  ABC   3架同时起飞,1/8处,C给AB加满油,C返航,1/4处,B给A加满油,B返航,A到达1/2处,C从机场往另一方向起飞,3/4处,C同已经空油箱的A平分剩余油量,同时B从机场起飞,AC到7/8处同B平分剩余油量,刚好3架飞机同时返航。所以是3架飞机5架次。第三题:需要建立数学模型    

  (提示,严格证明该模型最优比较麻烦,但确实可证,大胆猜想是解题关键)

  题目可归结为求数列   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升

  第四题:需要建立数学模型

  题目可归结为求自然数列的和S什么时候大于等于100,解得n> 13

  第一个杯子可能的投掷楼层分别为:14,27,39,50,60,69,77,84,90,95,99,100

  第五题:3和4(可严格证明)

  设两个数为n1,n2,n1> =n2,甲听到的数为n=n1+n2,乙听到的数为m=n1*n2

  证明n1=3,n2=4是唯一解

  证明:要证以上命题为真,不妨先证n=7

  1)必要性:

  i)   n> 5   是显然的,因为n <4不可能,n=4或者n=5甲都不可能回答不知道

  ii)   n> 6   因为如果n=6的话,那么甲虽然不知道(不确定2+4还是3+3)但是无论是2,4还是3,3乙都不可能说不知道(m=8或者m=9的话乙说不知道是没有道理的)

  iii)   n <8   因为如果n> =8的话,就可以将n分解成   n=4+x   和   n=6+(x-2),那么m可以是4x也可以是6(x-2)而4x=6(x-2)的必要条件是x=6即n=10,那样n又可以分解成8+2,所以总之当n> =8时,n至少可以分解成两种不同的合数之和,这样乙说不知道的时候,甲就没有理由马上说知道。

  以上证明了必要性

  2)充分性

  当n=7时,n可以分解成2+5或3+4

  显然2+5不符合题意,舍去,容易判断出3+4符合题意,m=12,证毕

  于是得到n=7   m=12   n1=3   n2=4是唯一解。第六题:7只(数学归纳法证明)    

  1)若只有1只病狗,因为病狗主人看不到有其他病狗,必然会知道自己的狗是病狗(前提是一定存在病狗),所以他会在第一天把病狗处决。

  2)设有k只病狗的话,会在第k天被处决,那么,如果有k+1只,病狗的主人只会看到k只病狗,而第k天没有人处决病狗,病狗主人就会在第k+1天知道自己的狗是病狗,于是病狗在第k+1天被处决

  3)由1)2)得,若有n只病狗,必然在第n天被处决

  第七题:(提示:可用图论方法解决)

  BONO&EDGE过(2分),BONO将手电带回(1分),ADAM&LARRY过(10分),EDGE将手电带回(2分),BONO&EDGE过(2分)   2+1+10+2+2=17分钟

  第八题:

  约定好一个人作为报告人(可以是第一个放风的人)

  规则如下:

  1、报告人放风的时候开灯并数开灯次数

  2、其他人第一次遇到开着灯放风时,将灯关闭

  3、当报告人第100次开灯的时候,去向监狱长报告,要求监狱长放人......

  按照概率大约30年后(10000天)他们可以被释放

  第五组无标准答案    

  第六组部分题参考答案:    

  4.

char   *   strcpy(char   *   pstrDest,const   char   *   pstrSource)
{
  assert((pstrDest!=NULL)&&(pstrSource!=NULL));  
  char   *   pstr=pstrDest;
  while((*(pstrDest++)=*(pstrSource++))!= '/0 ');
                return   pstr;
}
 


  5.

char   *   strrev(char   *   pstr)
{
  assert(pstr!=NULL);
 
  char   *   p=pstr;
  char   *   pret=pstr;
  while(*(p++)!= '/0 ');
  p--;
  char   tmp;
  while(p> pstr)
  {
    tmp=*p;
    *(p--)=*(pstr);
    *(pstr++)=tmp;    
  }
  return   pret;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网上有不少Microsoft的测试题,引来不少的眼光。在这里把所有的测试题加以整理,再附上答案。(个别题目答案有多种,文本仅代表作者的思路)每道题的后面会给出一个时间。这个时间是作者做出该题所用的时间。(注意,这不是什么标准时间,相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的) 一.最基本题型(说明:此类题型比较简单) 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时) 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟) 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟) 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时) 6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟) 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟) .没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值