Вам поручено планирование маршрута полета для местной компании по доставке самолетов. Вам нужно направить самолет из пункта А в пункт Б. Однако вы просто не можете начать с А, навести самолет на В и, тем не менее, уйти, так как преобладающие ветры унесут вас с курса. Вместо этого вам нужно выяснить, в каком направлении вам следует направить самолет, чтобы он летел прямо к B, принимая во внимание ветер.
вход
7 чисел с плавающей точкой, кодирование A_x, A_y, B_x, B_y, S, W_x, W_y. Эти координаты вашего старта и назначения, скорость полет вашего самолета, и сила ветров вдоль оси х и у (направление ветер дует с , а не от).
вывод
Вы должны напечатать угол в градусах (вращающийся против часовой стрелки от положительной оси x), на который должна направить плоскость, чтобы достичь B по прямой линии. Распечатайте, GROUNDED
если ветер настолько силен, что делает путешествие невозможным.
Вы можете округлить до ближайшего градуса и сделать это любым удобным для вас способом (вверх / вниз / ближайший / ...).
Примеры
входные
0 0 10 0 100 0 -50
0 0 10 0 50 -55 0
3.3 9.1 -2.7 1.1 95.0 8.8 1.7
выходы
30
GROUNDED
229
Самый короткий код выигрывает.
a sin x + b cos x = c
Google некоторые методы решения вашего уравнения. Прямое решение, возможно, не лучший способ пойти сюда, хотя ...Ответы:
J - 155 символов
Например:
Удалите
0".
аванс,y
если вы не возражаете против числового синтаксиса J (_
для унарного отрицания):Как я уже упоминал в своем ответе на Perl, я только изучаю J, но мне нравится его сила.
источник
Perl - 222 символа
Простой алгоритм, и действительно только игра в гольф, сжимая пробел и переменную длину имени, но я подумал, что нам нужен первый ответ здесь. Я изучал немного J для игры в гольф; Я подозреваю, что простой перевод на J (или Ruby) легко с этим справится. Прочь, чтобы попробовать те.
$X
= боковой$T
ветер, = боковой ветер. Мы обоснованы, если попутный ветер на самом деле встречный ветер (т.е. отрицательный) и сильнее, чем наша воздушная скорость. В противном случае$C
это угол коррекции ветра, который мы вычитаем из курса,$c
чтобы получить курс. Нам нужно повернуть достаточно далеко, чтобы сбалансировать боковой ветер с поперечной составляющей нашей скорости.источник
Perl: 193
По общему признанию это - (главным образом) код Perh DCharness: но кому не нравится самопишущий источник?
Также он будет выводить градусы вне спецификации (то есть <0 или> 360), но я упомянул самопереписывающий источник?
источник