ঘন্টা (hours) এবং মিনিট (minutes) দেওয়া থাকলে, ঘড়ির ঘন্টা ও মিনিটের কাঁটার মাঝপথের ছোট কোণ বের করতে হবে।
সূত্র
- ঘন্টার কাঁটার কোণ:
0.5 * (60 * h + m)ডিগ্রি - মিনিটের কাঁটার কোণ:
6 * mডিগ্রি - কোণের পার্থক্য:
|hourAngle - minuteAngle| - ফলাফল:
min(diff, 360 - diff)
উদাহরণ
ইনপুট: hour = 12, minutes = 45
ঘন্টার কাঁটা: ০.৫ × (৭২০ + ৪৫) = ৩৮২.৫° → ২২.৫° (মড ৩৬০)
মিনিটের কাঁটা: ৬ × ৪৫ = ২৭০°
পার্থক্য: |২২.৫ - ২৭০| = ২৪৭.৫°
ছোট কোণ: min(২৪৭.৫, ১১২.৫) = 112.5°
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 hourAngle = 0.5 * (60 * h + m);
double minuteAngle = 6 * m;
double diff = abs(hourAngle - minuteAngle);
return min(diff, 360 - diff);
}
};
int main() {
Solution ob;
cout << ob.angleClock(12, 45);
return 0;
}
ইনপুট
12, 45
আউটপুট
112.5