C/C++ Program to Compute the Angle Between Hands of a Clock
- Time:2020-09-11 08:17:29
- Class:Weblog
- Read:29
Given two numbers, hour and minutes. Return the smaller angle (in sexagesimal units) formed between the hour and the minute hand.
Example 1:
Input: hour = 12, minutes = 30
Output: 165
Example 2:
Input: hour = 3, minutes = 30
Output: 75
Example 3:
Input: hour = 3, minutes = 15
Output: 7.5
Example 4:
Input: hour = 4, minutes = 50
Output: 155Example 5:
Input: hour = 12, minutes = 0
Output: 0Constraints:
1 <= hour <= 12
0 <= minutes <= 59
Answers within 10^-5 of the actual value will be accepted as correct.Hints:
The tricky part is determining how the minute hand affects the position of the hour hand.
Calculate the angles separately then find the difference.
Algorithm to Compute the Angle of the Hour and Minute Hand on the Clock
We can compute the angle between the Hour to the North (clock-wise) in degrees. And the angle between Minute and the North (clock-wise) can be computed in the same way. The answer is minimum of the absolute difference between these two values.
One minute is 6 degrees (there are 60 minutes on the clock). When minute moves, the hour moves proportional. One hour is 30 degrees (there are 12 hours on the clock).
1 2 3 4 5 6 7 8 9 10 | class Solution { public: double angleClock(int hour, int minutes) { double hourAngle = ((hour % 12) + minutes * 1.0/60) * 30; double minutesAngle = minutes * 6; double a = abs(hourAngle - minutesAngle); double b = 360 - a; return a < b ? a : b; } }; |
class Solution { public: double angleClock(int hour, int minutes) { double hourAngle = ((hour % 12) + minutes * 1.0/60) * 30; double minutesAngle = minutes * 6; double a = abs(hourAngle - minutesAngle); double b = 360 - a; return a < b ? a : b; } };
The Python solution (slightly different) is here: Compute the Angle of the Hour and Minute Hand on a Clock
–EOF (The Ultimate Computing & Technology Blog) —
Recommend:Planning To Update Your Website For 2020? Read This.
Learn to Stay Cool in Online Casinos and Control Emotions
Bash Function to Check Palindrome Strings
Algorithm to Find Duplicate Files in System using Hash Map
C++ Coding Reference: Copy N values by using std::fill_n()
C++ Advanced Topics: 10 Questions
C++ Coding Reference: Filling a Range with a Value using std::fi
How to Get List of IP addresses in BASH using hostname and tr co
C++ Coding Reference: iota() – Setting Incrementing Values
Javascript: From Promises to Async/Await
- Comment list
-
- Comment add