【算法学习】 在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?

严格的说,一天中,分针,时针和秒针不可能完全重合,随着其中任何之一的运动,都不能完成重合;这个答案在一本书中见到,描述为google的答案,

但是这里还是想看一下计算的结果,号称这个是微软的答案:

因为时针、分针和秒针都是饶同一轴转动,所以它们都有自己的角速度,并且其角速度之间存在一定的关系。根据这个关系我们可以解除此题。

若设时针的角速度为w,则分针跟秒针的角速度分别为12w和720w。

先来考察时针与分针重合时的角度,设为x。则有等式:

                 x/w   =    (x + n*360)/ 12w     

          其中n为分针超过时针的圈数。n的取值范围为从1到22之间的正整数。只取到22是因为在一天中虽然分针是走了24圈,但时针也走了两圈。所以24-2=22。

然后,我们就可以代入n值来求x了。求出x后,还要看秒针此时是否也在x处。可知时针走到x处用的时间为x/w,此时秒针走过的总角度为720w*x/w = 720x。然后把此值化简到360以内看是否为w即可。简单过程如下:

当n = 1时,x = 360/11。   720 * 360 /11 ——> 5*360/11。可见时针与分针重合时秒针不与它们重合。

当n = 2时,x = 2*360/11。   720*2*360/11 ——> 10*360/11。     秒针不重合。

当n = 3时,x = 3*360/11。   720*3*360/11 ——> 4*360/11。        秒针不重合。

     有规律的,自己看…………

当n = 11时, x = 11*360/11 = 360。 720*360 ——>360。   秒针重合,此时即为中午12点。

循环…………

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

 

 

 

 

 

posted on 2013-10-09 22:44  馒头山小八路  阅读(4224)  评论(0编辑  收藏  举报

导航