/**
* @author xnl
* @Description:
* @date: 2022/7/26 22:18
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
System.out.println(solution.angleClock(12,30));
}
public double angleClock(int hour, int minutes) {
// 每个小时算30度,所以需要小时乘以30, 还需要去除12和0 的情况
double hourAngle = hour * 30 % 360;
// 分针的话,每一圈一共有60个点,每个小时之间五个点,所以每一分钟是 360 % 60 = 6
double minutesAngle = minutes * 6 % 360;
// 因为时针不可能不走,所以需要加上分针走的角度,因为一个小时里面是30度,而一圈的话是60度,所以每一分钟是 30 / 60 = 0.5
hourAngle += minutes * 0.5;
double angle = Math.abs(hourAngle - minutesAngle);
return Math.min(angle, 360 - angle);
}
}