To dość proste pytanie. Według tej przypadkowej witryny, którą znalazłem - Web Archive , kątem odniesienia jest to, the acute angle formed by the terminal side of the given angle and the x-axis.
że musisz napisać program, aby je znaleźć.
Nic nie pamiętam z algebry 2, co to znaczy?
Kąty są zwykle podawane w standardowej formie , którą mierzy się, umieszczając jedną stronę kąta i mierząc drugą stronę, przeciwnie do ruchu wskazówek zegara, tak:
To będzie twój wkład. Twój wynik będzie kątem odniesienia tego. Można to uznać za zasadniczo najmniejszą odległość od strony końcówki do osi X. Tyle że to kąt, a nie odległość. Oto kilka przykładów:
Wyjaśnienia
- Wszystkie wartości domyślne dotyczące danych wejściowych i przesyłanych.
- Kąty są w stopniach .
- Dozwolone są kąty ujemne, kąty inne niż całkowite oraz kąty> 360 stopni .
- Dane wyjściowe w formie
60 deg
. - To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!
Przypadki testowe
70 -> 70 deg
135 -> 45 deg
210 -> 30 deg
-60 -> 60 deg
91 -> 89 deg
610 -> 70 deg
-1000 -> 80 deg
abs(arcsin(sin(input)))+" deg"
, choć nie wiem, który język by wygrał (musiałby obsługiwać stopnie i operacje na łańcuchach).Odpowiedzi:
Pyth, 17 bajtów
Przypadkowo odpowiada to odpowiedzi @ xnor .
Wypróbuj online.
źródło
Pyth, 18 bajtów
Wypróbuj online.
źródło
Python 2, 34 bajty
Korzystanie z
"%d deg"
formatowania ciągów byłoby dłuższe z powodu wymaganych nawiasów.źródło
CJam (21 bajtów)
Demo online
źródło
dc, 25
Uwaga
dc
używa_
znaku -ve zamiast-
.Wyjście testowe:
źródło
Mathematica,
2231źródło
deg
,0 deg
będzie stać0
.Row@{Abs@Mod[#,180,-90],deg}&
Python 2, 35
Mniejszy kąt i jego ujemny moduł
180
. Skutecznie konwertuje kąt do zakresu od 0 do 180 i przenosi odległość do bliższych punktów końcowych. Pamiętaj, że-x%180
grupy jako(-x)%180
.Ta sama długość z formatowaniem ciągów w Pythonie 3:
źródło
Pyt
2530 bajtówBolesnie nietwórcze rozwiązanie, wykorzystujące funkcje triggera. Permalink
Wszelkie sugestie są mile widziane.
źródło
.t
telefony i składając je:+.R.t.a.tF[Q7Z3)6?%Q1Q0" deg
90.5 => 90.0 deg
jednak.-60.5 => 60.5 deg
ale z60.5 => 60.0 deg
. Wygląda na problem z Pyth - Przykład użycia pyth / macros.pyJavaScript (ES6), 43 bajty
Podobne do odpowiedzi Sp3000 , chociaż moduł jest dość długi ze względu na zachowanie w JavaScript .
Próbny
Kod został przepisany w ES5 w celu zapewnienia zgodności z przeglądarkami:
CoffeeScript, 45 bajtów
źródło
%
rozsądnie się implementują .(t=180)
następnie zastąpieniem kolejnych 180 z t prawdopodobnie zaoszczędziłoby kilka bajtówJ, 26 bajtów
Taki sam jak metoda xnor .
źródło
Matlab, 44
Korzystanie z anonimowej funkcji:
Przykład:
źródło
Scala,
4035 znakówźródło
Tcl , 83 bajty
Wypróbuj online!
źródło
PHP, 44 bajty
Pobiera jeden parametr wiersza polecenia. Znów PHP cierpi na ten sam problem co JavaScript .
Korzystanie z rozwiązania kanonicznego wymaga 53 bajtów (konwersja stopni i radianów zajmuje dużo znaków):
źródło
.
do konkatenacji?.
. Doceniony, dopóki nie zostanie naprawiony