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

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

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) —

推荐阅读:
萝卜的保健功能和萝卜的食疗吃法  红枣美味营养可养生但是禁忌亦不少  不同包装的牛奶,你知道该如何选择吗  冬天吃羊肉如何去掉羊膻味及饮食禁忌  适度喝啤酒预防骨质疏松保持关节弹性  关于鸡蛋营养及其食用方法的十大误区  腊肉的风味和特点及腊肉的制作全过程  腊肉的营养价值及腊肉的食用禁忌  煲汤的诀窍及胡萝卜熟吃煮汤更营养  胡萝卜不但可以保护视力还对精子有益 
评论列表
添加评论