C ++中的时钟指针之间的角度
假设我们有两个数字,小时和分钟。我们必须找到时针和分针之间形成的较小角度(以六进制单位)。因此,如果输入类似于小时=12和分钟:=30,则结果将为165°。
为了解决这个问题,我们将遵循以下步骤-
如果h=12,则设置h:=0
如果m=60,则设置m:=0
hAngle:=0.5*(60h)+米
mAngle:=6m
ret:=|hAngle-mAngle|
返回最小的ret和(360–ret)
范例(C++)
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: double angleClock(int h, int m) { if(h == 12) h = 0; if(m == 60) m = 0; double hAngle = 0.5*((60 * h) + m); double mAngle = 6 * m; double ret = abs(hAngle - mAngle); return min(360 - ret, ret); } }; main(){ Solution ob; cout << (ob.angleClock(12, 30)); }
输入值
12 30
输出结果
165.00000