Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหามุมระหว่างเข็มชั่วโมงกับเข็มนาทีใน C++?


สมมติว่าเรามีค่าชั่วโมงและนาทีสองค่า เราต้องหามุมที่เล็กกว่าที่เกิดขึ้นระหว่างเข็มชั่วโมงกับเข็มนาที

ดังนั้น หากอินพุตเป็นชั่วโมง =12 นาที =45 เอาต์พุตจะเป็น 112.5

โปรแกรมหามุมระหว่างเข็มชั่วโมงกับเข็มนาทีใน C++?

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้:

  • ถ้า h =12 ให้ตั้งค่า h :=0

  • ถ้า m =60 ให้ตั้งค่า m :=0

  • มุมองศา :=0.5 * (60 ชม.) + ม.

  • มุมมุม :=6m

  • ret :=|hAngle - mAngle|

return ค่าต่ำสุดของ 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