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

更新: 2020 年 4 月 29 日

1K+ 瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.