Может ли кто-нибудь помочь мне решить этот вопрос? - PullRequest
0 голосов
/ 28 апреля 2020

Угол обзора часов Описание проблемы На Земле есть 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))

Пройдены все примеры, но при отправке я покажу неправильный ответ ... В чем ошибка в моем коде ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...