Interview100-100 一些微软面试题4

题目

1. 12个球一个天平,现知道只有一个和其他的重量不同,问怎么样称才能用三次就找到那个球。如果是13个球呢?(注意此题并没有说明那个球的重量是轻是重,所以需要仔细考虑)(5min-1hour)

2. 在9个点上画10条线,要求每条线上至少有三个点。(3min-20min)

3. 在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎么样算出来的?(5min-15min)

解法

1. 当为12个球时,过程如下:将12个小球分为三组,每组4个,设要找的小球为X(重量不一样,但轻重未知),然后任选两组进行称重,有如下三种可能的情况:

(1)天平平衡,说明X在剩下的一组中,并且此时称重的这两组球都是标准的。然后对剩下的一组球编号为abcd,然后那种其中的三个abc与之前两组的三个标准球(设为123)进行称重

  • abc=123,则d为X,但轻重未知,将d与其他一个标准球称重,得到它的轻重。
  • abc<123,X在abc中且X较轻,将a与b进行称重,若a<b,则X为a,若a>b则X为b,若a=b,则X为c。
  • abc>123,思路同上,X在abc中且X较重,将a与b进行称重,若a<b,则X为b,若a>b则X为a,若a=b,则X为c。

(2)天平不平衡,且左边重。说明X在这两组的8个球重,但轻重未知。将重的一组编号为1234,轻的一组编号为ABCD,然后拿出12A和34B进行称重

  • 12A=34B,则X在CD中,且1234AB都是标准球。将A和C称重,若A>C,则X为C且较轻,若A=C,则X为D且较轻,而且因为ABCD组本身就是较轻的一组球,所以不可能出现A<C的情况。
  • 12A>34B,则X仍然在1234ABCD这8个球中,而且有可能是X在1和2两个球中并且较重,也可能为B且较轻。对1和2进行称重:若1>2,则X为1且较重,若1<2,则X为2且较重,若1=2,则X=B且较轻。
  • 12A<34B,则X在34A这三个球中,要么为34中较重的一个,要么为A且较轻。对3和4进行称重。若3<4,则X为4且较重,若3>4,则X为3且较重,若3=4,则X=A且较轻。

(3)天平不平衡,且右边重。分析过程如(2)。

参考:https://blog.csdn.net/sail2011/article/details/11879623

2. 当为13个小球时,过程如下:同样将13个小球分为3组,前两组各4各,最后一组5个。对前两组进行称重,有如下情况:

(1)天平平衡。说明X在剩下的5个球中,并且这两组球都为标准球。然后再第三组中选3个(abc)与三个标准球(123)进行称重

  • 123=abc,则X在第三组剩下的两个球(ef)中,然后取e与1称重,若e=1,则X=f且轻重无法判断(但题目要求为找到X,并没有要求判断它的轻重,这里是为了分析才进行的),若e>1则X=e且较重,若e<1则X=e且较轻。
  • 123>abc,则X在abc中且较轻,将a与b进行称重,若a<b,则X为a,若a>b则X为b,若a=b,则X为c且较轻。
  • 123<abc,思路同上,X在abc中且X较重,将a与b进行称重,若a<b,则X为b,若a>b则X为a,若a=b,则X为c且较重。

(2)天平不平衡,且左边重。说明X在这两组的8个球重,但轻重未知。将重的一组编号为1234,轻的一组编号为ABCD,然后过程与12球中的情况一样。

(3)天平不平衡,且右边重。分析过程如(2)。

2. 第二题如图:

3. 我们知道,分针走一圈(360度),时针走30度(一个小时的跨度),设时针的角速度为w,则分针的角速度为12w,相应的秒针走一圈(360度),分针走(30/5=6度),因此秒针的角速度为720w设分针和时针重合时的角度为x,则有:

x/w = (x + 360*n) / 12w,其中n的取值范围为[1 to 22],因为一天24小时,时针会走过两圈,分针只需要转22圈。

这样求出x之后,还需要看秒针是否在此位置上,由上述可知,时针走到x处,用时为x/w,此时,秒针走过的角度为720w * x / w = 720x。把该值简化为360度之内,看是否与时针和分针重合,如果重合则为一个三个表针重合的一个时间。下面为计算过程:

由上述的等式可以计算出:x=360 * n / 11,所以有如下取值:

  • n=1时,x=360/11, 秒针转过的角度为:720 * 360/11,秒针不重合
  • n=2时,x=2 * 360/11, 秒针转过的角度为:720 * 2 * 360/11,秒针不重合
  • n=3时,x=3 * 360/11, 秒针转过的角度为:720 * 3 * 360/11,秒针不重合
  • ...
  • n=11时,x=11 * 360/11 = 360, 秒针转过的角度为:720 * 11 * 360/11 -> 360,秒针重合,即分针走了11圈,为12:00:00。
  • ...
  • n=22时,x=22 * 360/11 = 720, 秒针转过的角度为:720 * 22 * 360/11 -> 720,秒针重合,即分针走了22圈,为24:00:00时。

由上可知一天中三针完全重合在一起的时候共有两次,分别为中午12点和凌晨0点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值