ধরুন ঘন্টা এবং মিনিটের দুটি মান আছে। আমাদের ঘন্টা এবং মিনিট হাতের মধ্যে গঠিত একটি ছোট কোণ খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুট ঘন্টা =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