卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章19610本站已运行344

在给定的小时之后,分针和时针重合的时间

当分针在一小时内从 12 移动到 12 时,时针也会从前一小时移动到下一小时。

因此,每小时,分针和时针重合一次。

问题陈述

给定输入的小时,找出下一小时内时针和分针重合的时间(以分钟为单位)。

示例

输入 - 小时 = 4

输出 - 重合时间:240/11 分钟。

我们将进一步讨论该方法的解释。

输入 - 小时 = 5

输出 - 重合时间:300/11 分钟。

解释和方法

在给定的小时之后,分针和时针重合的时间

当分针在一小时内移动一整圈时,时针也会从一个小时移动到另一个小时。因此,从数学上来说 -;

分针走动 60 分钟,时针走动 5 分钟。

或-

当分针走 60 步时,时针走 5 步。

因此 -

分针 60 步 == 时针 5 步

因此 -

分针 1 步 = 时针 1/12 步

现在,假设时针和分针重合需要 m 分钟。

如果输入小时为 h -

然后分针必须移动 h*5 分钟加上时针从该小时开始所经过的分钟数。

因此,m = h*5 + m/12。 (m/12 = 时针从开始输入小时开始所经过的分钟)。

服用 LCM -

米 = (高*5*12 + 米)/12

12m = 60*h + 米

12米-米=60*高

11m = 60*h

因此,m = 60*h/11

现在,让我们考虑上面的示例并验证公式。

  • 输入时间 = 4

  • 时针和分针重合的时间(以分钟为单位)为:

    分钟 = 60*小时/11

    因此,m = 60*4/11

    分钟 = 240/11 分钟。

  • 同样,对于输入小时 = 5,

  • 米=60*5/11

    即300/11 分钟。

我们可以使用上面的公式并编写我们的解决方案。

伪代码

主函数:

  • 初始化输入小时。

  • 调用函数 cociding_time(hour)。

coinciding_time(整数小时):

  • 时间 -> 60*小时/11

  • 打印时间。

示例

下面是一个 C++ 程序,用于查找给定小时后分针和时针重合的时间。

'
#include<bits/stdc++.h>
using namespace std;
//Function to find the time in minutes.
void coincide_time(int hour){
   //Temporary variable
   int temp = 60*hour;
   cout<<"Coinciding time: ";
   cout<< temp<<"/"<<11<<" minutes"<<endl;
}
int main(){
   //Initialize the input hour
   int hour = 8;
   //Function call
   coincide_time(hour);
   return 0;
}

输出

'
Coinciding time: 480/11 minutes

分析

时间复杂度 - O(1) [常数]

空间复杂度 - O(1) [常数]

结论

在这篇文章中,我们找出了时针和分针重合的时间。我们使用酉法推导了该公式,并通过几个例子来理解它。然后,我们使用该公式编写伪代码并用 C++ 编写解决方案。

卓越飞翔博客
上一篇: 如何处理PHP常见问题合集开发中的并发访问
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏