Compute the Angle of the Hour and Minute Hand on a Clock
- 时间:2020-09-13 14:33:25
- 分类:网络文摘
- 阅读:102 次
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
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) —
推荐阅读:春夜宴桃李园序 / 春夜宴从弟桃花园序原文及翻译 北山移文原文及翻译 五柳先生传原文及翻译 桃花源记原文及翻译 进水排水的牛吃草问题 汽车运化肥的牛吃草问题 下面的哪个分数大 扩大鱼池问题 巧分食盐水问题 均分田地问题
- 评论列表
-
- 添加评论