Угол обзора часов Описание проблемы На Земле есть 360 Долгот, которые являются равноудаленными вертикальными воображаемыми линиями, нарисованными на Земле, отделенными друг от друга на 1 градус от центра Земли. Период вращения Земли вокруг своей оси составляет 24 часа. Все страны имеют свое официальное время и, следовательно, часовые пояса.
UT C - это универсальная временная координата, которая проходит через 0 (нулевой градус) долготы.
Время в определенном месте на Земле может рассчитываться с использованием периода вращения Земли и долготы этого конкретного места. Например, индийский часовой пояс IST (стандартное индийское время) расположен на 82,5 ° восточной долготы. Следовательно, индийское время можно рассчитать следующим образом: -
IST = UT C + (24/360) * 82,5 = UT C + 5: 30H
Теперь предположим, что мы изменились Период вращения Земли с использованием некоторой воображаемой силы, это изменит время на каждой долготе на Земле.
Рассчитайте наименьший угол между часовой и минутной стрелками часов, который показывает разницу во времени на определенная долгота и время в UT C, т.е. мы должны взять меньшее из двух углов, образованных между часовой и минутной стрелками.
Ограничения Чтобы показать разницу во времени на часах, на 12-часовых часах (как показано ниже ) должен использоваться, независимо от периода вращения Земли, только для этого вопроса.
Формат ввода Период вращения Земли в часах (только целое число)
Значение долготы до 2 места десятичного числа
Выходные данные Наименьший угол между часовой и минутной стрелками часов, который показывает разницу между временем на определенной долготе и временем в UT C, u p до 2 десятичных разрядов.
Пример теста Пояснение Пример 1
Вход
24
82.50
Выход
15.00
Пояснение
Если период вращения Земли составляет 24 часа, то время на 82,5 градуса долготы будет (24/360) * 82.50 = 5:30 и минимальный угол в это время между минутная и часовая стрелки будут 15 градусов.
Пример 2
Вход
12
360.00
Выход
0,00
Пояснение
Если период вращения Земли равен 12 часам, тогда время на долготе 360 градусов будет (12/360) * 360 = 12:00 и минимальный угол в это время между минутная и часовая стрелки будут иметь 0 градусов.
Мое решение ...
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))
Пройдены все примеры, но при отправке я покажу неправильный ответ ... В чем ошибка в моем коде ...