मान लीजिए कि हमारे पास दो नंबर हैं, घंटा और मिनट। हमें घंटे और मिनट की सुई के बीच बने एक छोटे कोण (सेक्सजेसिमल इकाइयों में) को खोजना होगा। तो अगर इनपुट घंटे =12 और मिनट:=30 की तरह है, तो परिणाम 165 डिग्री होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अगर एच =12, तो एच सेट करें:=0
-
अगर एम =60, तो एम सेट करें:=0
-
hAngle :=0.5 * (60h) + m
-
कोण:=6मी
-
ret :=|hAngle - mAngle|
-
रिट की न्यूनतम वापसी और (360 - रिट)
उदाहरण (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