Задний план
Бесчисленные поколения детей задавались вопросом, где бы они оказались, если бы вырыли яму прямо вниз. Оказывается, это, что неудивительно, было бы довольно опасно , но в любом случае ...
Антиподы - это точки, которые прямо противоположны друг другу на поверхности Земли. Это означает, что если бы была проведена линия между двумя точками, она прошла бы через центр Земли.
Вызов
Напишите программу или функцию, которая, учитывая точку, находит свой антипод.
В этом испытании точки представлены с использованием системы долгота-широта и градусов, минут дуги и секунд дуги. Чтобы найти антипод, поменяйте местами направления каждой ординаты ( N <-> Sи W <-> E) и вычтите долготу из 180градусов.
Пример:
взять точку N 50 26 23 W 4 18 29. Поменяйте местами, чтобы дать S 50 26 23 E 4 18 29. Вычтите координату долготы, 180 0 0чтобы дать 175 41 31, оставляя координаты антипода как S 50 26 23 E 175 41 31.
правила
вход
Набор координат широты и долготы в любом приемлемом формате , где каждая ордината содержит направление, количество градусов, количество минут дуги и количество секунд дуги.
Выход
Широта-долгота координат антипода в любом приемлемом формате , где каждая ордината содержит направление, количество градусов, количество минут дуги и количество секунд дуги.
Разумно предположить, что каждая часть координаты может быть однозначно различена.
Спекуляции
- Направление для ординаты широты -
NилиS, а для ординаты долготы -WилиE. - Все значения координат являются целыми числами. Значение градуса будет между
0и90для широты, а также между0и180для долготы. Значения минуты дуги и секунды дуги для обеих ординат будут между0и59. - Если все значения для ординаты равны
0, любое направление приемлемо. - Нет необходимости дополнять нулями любые значения.
- Ни одна ордината широты никогда не будет больше
90градусов, и никакая ордината долготы никогда не будет больше180градусов. - Применяются стандартные лазейки .
Контрольные примеры
N 50 26 23 W 4 18 29 -> S 50 26 23 E 175 41 31
S 43 9 9 E 0 0 5 -> N 43 9 9 W 179 59 55
N 0 0 0 E 0 0 0 -> S/N 0 0 0 W/E 180 0 0 (either direction fine in each case)
S 1 2 3 W 4 5 6 -> N 1 2 3 E 175 54 54
S 9 21 43 W 150 7 59 -> N 9 21 43 E 29 52 1
S 27 40 2 W 23 0 0 -> N 27 40 2 E 157 0 0
N 0 58 37 W 37 0 0 -> S 0 58 37 E 143 0 0
Полезные ссылки
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах!
N, S, Eили Wв направлении, в то время как избыточные 0вводит неоднозначность относительно того , какое значение представляет , какой компонент ординат.