There are 360 Longitudes on the Earth, which are equidistant vertical imaginary lines drawn on the Earth, separated by 1 degree each from center of the Earth. Period of the rotation of the Earth on its axis is 24 hours. All countries have their own official times and hence time zones.
UTC is universal time coordinate which passes through 0 (Zero degree) longitude.
Time at a particular location on Earth can be calculated using period of the rotation of Earth and longitude of that particular location. For example, Indian time zone IST (Indian standard Time) is located at 82.5° E longitude. Hence, Indian time can be calculated as below:-
IST = UTC + (24/360)*82.5 = UTC + 5:30Hrs
Now suppose we changed period of rotation of the earth using some imaginary power, this will change the time at every longitude on the earth.
Calculate the smallest angle between hour and minute hand of the clock , which shows the difference of time at a particular longitude and the time at UTC i.e. we have to take smaller of the two angle formed between hour and minute hand.
To show the time difference on clock, 12-hour clock (as shown below) shall be used, irrespective of period of the earth’s rotation, for this question only.
Period of the earth’s rotation in Hours (Integer only)
Value of Longitude up to 2 place of decimal
Smallest angle between hour and minute hand of the clock, which shows the difference between time at a particular longitude and time at UTC, up to 2 decimal places.
If period of rotation of earth is 24 hours then time at 82.5 degree longitude will be (24/360)*82.50 = 5:30 and minimum angle at this time between minute and hour hand will be 15 degree.
If period of rotation of earth is 12 hours then time at 360 degree longitude will be (12/360)*360 = 12:00 and minimum angle at this time between minute and hour hand will be 0 degree.
My solution is…
import math def cal(h,m): if (h == 12): h = 0 if (m == 60): m = 0 hour_angle = 0.5 * (h * 60 + m) minute_angle = 6 * m angle = abs(hour_angle - minute_angle) return min(360-angle,angle) def ist(h,r): Ist=round((h*r*1.0)/360,3) int_ist=int(Ist) float_ist=math.ceil((Ist-int_ist)*60) return cal(int_ist,float_ist) n=int(input()) deg=float(input()) print("%.2f"%ist(n,deg))
Passed all sample cases but show wrong answer when i submitted this…what is the mistake in my code…