C++ 中钟表指针之间的角度
假设我们有两个数字,小时和分钟。我们必须找到时针和分针之间形成的较小角度(以度量制为单位)。如果输入就像 hour = 12 和 min := 30,那么结果将是 165°。
为实现这一目的,我们将按照以下步骤进行:-
如果 h = 12,则设置 h := 0
如果 m = 60,则设置 m := 0
hAngle := 0.5 * (60h) + m
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
广告