欢迎访问==> 【考研OR保研】机试题
给你两个数 hour
和 minutes
。请你返回在时钟上,由给定时间的时针和分针组成的较小角的角度(60 单位制)。
示例 1:
输入:hour = 12, minutes = 30
输出:165
示例 2:
输入:hour = 3, minutes = 30
输出;75
示例 3:
输入:hour = 3, minutes = 15
输出:7.5
示例 4:
输入:hour = 4, minutes = 50
输出:155
示例 5:
输入:hour = 12, minutes = 0
输出:0
提示:
1 <= hour <= 12
0 <= minutes <= 59
- 与标准答案误差在
10^-5
以内的结果都被视为正确结果。
C++代码
/*
分别计算出分针与【12刻度】的夹角,以及时针与【12刻度】的夹角,然后将两者相减即可
*/
class Solution {
public:
double angleClock(int hour, int minutes) {
//一小时30° * (整小时数 + 随着分针偏移的小时数)
double h = (360 / 12) * (hour % 12 + minutes / 60.0);
//一分钟6° * 分钟数
double m = (360 / 60) * (minutes % 60);
//计算并返回答案
double ans = abs(h - m);
return min(ans, 360 - ans);
}
};