在面试之中,除了技术面试以了解候选人的技术水平,有时还会有一些类似于脑筋急转弯的趣味题,来考察候选人的反应能力和思维能力等。今天我们就来分析一下下面这个问题:

 

时针分针一天重合多少次?

 

时针分针一天到底重合多少次?_智力题

 

这显然是一个追及问题,时针跑得慢,分针跑得快,问题等价于在一天24小时的时间内,分针能够追上时针的次数是多少?

 

不论是时针还是分针都在表盘内按角度均匀转动的,一个很自然的想法就是比较时针和分针的转动速度。以分钟为单位,分针每分钟转动1/60*360=6度,时钟每分钟转动1/60/12*360=0.5度。

 

分针要追上时针,需要比时钟多跑圈数。超过一圈需要时间360/(6-0.5)分钟,一天总共有24小时,那么总共重合24*60/(360/6-0..5) = 22次。

 

我们也可以通过代码来将这些重合时间进行计算并显示出来。

def hour_minute_meet():
    for i in range(1,12):
        meet_time=i*60/(minute_hand_velo-hour_hand_velo)
        print(time.strftime("%H:%M:%S", time.gmtime(meet_time)))
    

import time   
        
if __name__=='__main__':
    
    second_hand_velo=1        
    minute_hand_velo=1/60
    hour_hand_velo=1/60/12
    hour_minute_meet()

上述代码有几个需要解释的地方,将计算单位换算成了秒,即秒针一秒转一度,分针一秒转1/60度,时针一秒转1/60/12度。这样可以将时间具体到秒展示出来。表盘上显示了12个小时,分针转一圈便是一个小时。追及方法同上述。

 

时针分针一天到底重合多少次?_智力题_02

这样我们可以得到半天的时针分针相遇时间。那么问题也可以升级一下:

 

时针分针秒针一天重合多少次?

 

这个三针重合问题我们可以在第一个问题的基础上进一步分析,即在时针分针重合的情况下看秒针的位置是否和时针分针一致。显然只有在12点整的时候,12:00:00 有三针重合的情况,也就是一天之内两个12点整会出现三针重合的现象~

 

 

时针分针一天到底重合多少次?_智力题_03