Compute the Angle of the Hour and Minute Hand on a Clock

  • 时间:2020-09-13 14:33:25
  • 分类:网络文摘
  • 阅读:133 次

Given a time in the format of hour and minute, calculate the angle of the hour and minute hand on a clock.

clock-3-30 Compute the Angle of the Hour and Minute Hand on a Clock algorithms geometry python

Clock 3:30

This was recently asked by Microsoft. This is not a difficult question. We want to make sure that:

  • The time could be in the format 24-hour. For example, 15:30 is the same as 3:30.
  • The hour minute also moves slightly (portion) when minute hand moves.
  • One minute difference has a 6 rad degree – 60 minutes is 360 degree.

Thus, the following Python code should be straigtforward with O(1) constant in both time and space – just pure math calculations.

1
2
3
4
5
6
7
8
9
10
11
def calcAngle(h, m):
  # hour hand gets percentage angle
  h = (h + (m / 60.0)) * 5 % 60
  diff = abs(h - m)
  return int(diff * 6)
 
if __name__ == "__main__":
  print(calcAngle(3, 30))
  # 75
  print(calcAngle(12, 30))
  # 165
def calcAngle(h, m):
  # hour hand gets percentage angle
  h = (h + (m / 60.0)) * 5 % 60
  diff = abs(h - m)
  return int(diff * 6)

if __name__ == "__main__":
  print(calcAngle(3, 30))
  # 75
  print(calcAngle(12, 30))
  # 165

A slightly different solution in C/C++ can be found here: C/C++ Program to Compute the Angle Between Hands of a Clock

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
Dead Simple Ways to Keep Your Best Blogging Ideas From Slipping   The Fear of Blogging is Real – Here’s How to Overcome It  Influential Cybersecurity Blogger Gets Digitally Attacked  Building Relationships with Your Influencers  Authorities In Vietnam Arrest Top Blogger For One Criticizing Co  The Top Health Bloggers You Should Be Following  Mashable Blogger: Owning a Samsung Galaxy Note 7 is Safer Than G  5 Ways to Earn Money from Your Website  Singapore Blogger Sentenced To Jail For Social Media Posts  Comparing Left and Right Branch of a Complete Binary Tree 
评论列表
添加评论