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

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


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

เช่น ถ้าอินพุตเป็น hour = 12 minutes = 45 ผลลัพธ์จะเป็น 112.5

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

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

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

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

  • hAngle := 0.5 * (60*h + m)

  • mAngle := 6*m

  • ret := |hAngle - mAngle|

  • คืนค่า min ของ 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