Время на часах, и часах где переставлены стрелки местами
При анализе поисковых запросов, по которым посетители обращаются на сайт, я увидел следующую задачу "Часы показывают 8ч 35 мин. какое время будут показывать часы,если поменять местами часовую и минутную стрелки?"
Почему бы не решить? Интересно же.
Правда у меня ответ получился - "часы сломаны" :)
Рассмотрим более подробно, как решать подобные задачи.
В долях часа у нас время показывает 8+35/60=8.58333333(3) часов. Запомним это число.
Переставим часовую стрелку на место минутной. 35 минут - это цифра 7 на циферблате. Логично? Значит это 7 часов. Причем ровно (!) семь часов. Это замечание очень важно!
а теперь переставляем минутную стрелку на место часовой.
Здесь необходимо решить две пропорции
12 часов относится к 360 градусам, как 8.58333(3) к неизвестной величине
Эта неизвестная величина ( а точнее угол который описывает часовая стрелка от 0 часов) равна 275,5 градусов
Вторая пропорция
это 60 минут относится к 360 градусам, как Х к 275,5 градусам
Х=42.91666(6) минут
то есть у нас получилось что часовая стрелка будет стоять ровно(!) на цифре 7 а минутная стрелка на цифре почти 43 минуты.
Если кто то скажет, вот и ответ 7 часов и 43 минуты, тот глубоко ошибается.
Проверяется это так. Раз мы стрелки только поменяли местами, то угол между двумя стрелками не изменился и должен быть один и тот же.
И так при времени 8ч 35 минут угол между стрелками составит 47.5 градусов
а при времени 7 часов 42.91666(6) минут угол составит 26.042 градусов
То есть при поставленной задаче, при часах показывающих 8 часов 35 минут, при смене стрелок мы получим что то несуразное, и не правильное.
Но не все так плохо, все таки есть такие пары значений минутной и часовой стрелки при смене которых мы получаем правильное время. Давайте определим какие же.
Если вы прочитали статью по выше приведенной ссылке то запишем уравненение связывающее угол между часовой и минутными стрелками.
DHH - время в долях часа, MM- минуты
- это угол, который прошла часовая стрелка от 0 часов.
- это угол, который прошла минутная стрелка от 0 минут.
Поменяем стрелки местами.
Получили что новая минутная стрелка будет иметь угол а значение
а часовая стрелка будет иметь угол а значение (в долях часа)
доля часа выражается как час+минута разделенная на 60
- целое(!) количество часов при новых положениях стрелок
В приницпе, это одна из формул выражающая связь между количеством часов в старом положении, количеством часов в новом положении и положении минутной стрелки в старом положении.
Но формула несовсем удобна, по простой причине, что надо учитывать что HH1 и HH должны быть целыми числами
Но несмотря на это, из этой формулы прекрасно видно что правая часть может быть целочисленной только в случае когда MM=0 или MM=60. Во всех остальных случаях количество минут MM просто обязано быть дробным. Это еще один гвозь в подобные задачи, которые рассмотрели в начале статьи.
Из этой же формулы видно, сколько раз за 12 часов возникает ситуация когда минутную и часовую стрелку можно сменить корректно.
Каждая из HH и HH1 может принимать 12 значений. Значит их совместные комбинации дают 144 сочетаний. Из них одна повторяется дважды HH=HH1=0 и HH=HH1=12 (это одно и тоже положение). Тогда общее количество событий составит 143.
Как основной вывод из выше выведенной формулы примем, что задачи на смену часовой и минутной стрелок, где используются целые(!) значения минут( за исключением 0 или 60), неправильные, и ломают и калечат психику ребенку/ученику.
Продолжим усовершенствовать нашу формулу.
Итак, напомним что при смене стрелок у нас угол между ними не меняется а значит формула
будет правильной и для первого расположения стрелок и для второго. За исключением знака перед формулой.
Так как первом случае если угол будет положительный, то сменив стрелки, в абсолютном выражении вы ничего не потеряем, а знак изменится, и угол будет отрицательный.
то есть
- нам уже известна, и её подставим в формулу
После преобразований получим
У нас получилась вторая формула связывающая исходные время с значеним минутной стрелки после перестановки.
Еще раз попробуем решить нашу первоначальную задачу, но уже по вычесленным формулам
HH=8;MM=35
Тогда MM1= 42.91666666666(6) минут
а HH1= 6.2847222222222 часов. Но такого быть не может, так как HH1 должно быть целочисленным значением.
После того, как мы вывели две формулы связывающие положения стрелок до и после перестановки, осталось написать бота.
Бот, по одному значению часа на исходных часах, нам будет выводить таблицу из 12 позиций, при значениях которых часовые и минутные стрелки можно менять коректно.
Вот один из примеров.
Для 5 часов у нас есть 12 положения часовой и минутной стелки где можно корректно сменить их друг на друга.
Например только в пять часов 2.0979 минут можно поменять стрелки таким образом что бы не нарушить сам принцип работы часов и после смены стрелок часы будут показывать 0 часов 25.1748 минут.