zoukankan      html  css  js  c++  java
  • 【算法学习】 在一天的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点。

  • 相关阅读:
    【python刷题】前缀和
    【python刷题】数组链表去重
    【python刷题】滑动窗口法
    【python刷题】二分查找
    【python刷题】广度优先搜索(BFS)
    【python刷题】回溯算法(深度优先搜索DFS)
    机器学习十讲-第三讲分类
    数学知识-质数&约数
    树与图的DFS与BFS
    桥梁保护与监控-开发进度(二)
  • 原文地址:https://www.cnblogs.com/superniaoren/p/3360293.html
Copyright © 2011-2022 走看看