C++程式:計算時鐘時針和分針之間的夾角?
假設我們有兩個值:小時和分鐘。我們需要找到時針和分針之間形成的較小夾角。
所以,如果輸入類似於小時 = 12 分鐘 = 45,則輸出將為 112.5
為了解決這個問題,我們將遵循以下步驟
如果 h = 12,則將 h 設定為 0
如果 m = 60,則將 m 設定為 0
hAngle := 0.5 * (60h) + m
mAngle := 6m
ret := |hAngle - mAngle|
返回 ret 和 (360 – ret) 的最小值。讓我們看看下面的實現以更好地理解
示例
#include <bits/stdc++.h> using namespace std; class Solution { public: double solve(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.solve(12, 45)); }
輸入
12, 45
輸出
112.5
廣告