Ini pertanyaan yang cukup sederhana. Menurut website ini random saya menemukan - Web Archive , sudut referensi the acute angle formed by the terminal side of the given angle and the x-axis.
Anda harus menulis sebuah program untuk menemukan ini.
Saya tidak ingat apa pun dari aljabar 2, apa artinya ini?
Angles biasanya diberikan dalam bentuk standar , yang diukur dengan menempatkan satu sisi sudut dan mengukur ke sisi lain, berlawanan, seperti:
Ini akan menjadi masukan Anda. Output Anda akan menjadi sudut referensi ini. Anda dapat menganggap ini pada dasarnya jarak terkecil dari sisi terminal ke sumbu x. Kecuali itu sudut, bukan jarak. Berikut ini beberapa contohnya:
Klarifikasi
- Semua default pada input dan pengiriman.
- Sudut dalam derajat .
- Sudut negatif, sudut non-integer, dan sudut> 360 deg yang diperbolehkan.
- Output dalam bentuk
60 deg
. - Ini adalah kode-golf , jadi kode terpendek dalam byte menang!
Uji Kasus
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"
, meskipun saya tidak tahu bahasa mana yang akan menang (itu perlu mendukung operasi derajat dan string).Jawaban:
Pyth, 17 byte
Secara kebetulan, ini setara dengan jawaban @ xnor .
Cobalah online.
sumber
Pyth, 18 byte
Cobalah online.
sumber
Python 2, 34 byte
Menggunakan
"%d deg"
pemformatan string akan lebih lama karena tanda kurung yang dibutuhkan.sumber
CJam (21 byte)
Demo online
sumber
dc, 25
Note
dc
menggunakan_
sebagai tanda -ve bukan-
.Output tes:
sumber
Mathematica,
2231sumber
deg
,0 deg
akan menjadi0
.Row@{Abs@Mod[#,180,-90],deg}&
Python 2, 35
Semakin kecil sudut dan modulo negatifnya
180
. Secara efektif mengubah sudut ke rentang dari 0 hingga 180 dan membawa jarak ke titik akhir yang lebih dekat. Perhatikan bahwa-x%180
kelompokkan sebagai(-x)%180
.Panjang yang sama dengan pemformatan string untuk Python 3:
sumber
Pyth
2530 byteSolusi menyakitkan yang tidak kreatif, menggunakan fungsi trigonometri. Permalink
Ada saran yang diterima.
sumber
.t
+.R.t.a.tF[Q7Z3)6?%Q1Q0" deg
90.5 => 90.0 deg
, meskipun.-60.5 => 60.5 deg
tetapi dengan60.5 => 60.0 deg
. Sepertinya masalah dengan Pyth - Contoh menggunakan pyth / macros.pyJavaScript (ES6), 43 byte
Mirip dengan jawaban Sp3000 , meskipun modulo cukup panjang karena perilaku dalam JavaScript .
Demo
Kode ditulis ulang dalam ES5 untuk kompatibilitas browser:
CoffeeScript, 45 byte
sumber
%
bijaksana.(t=180)
kemudian mengganti 180 berikut dengan t mungkin akan menghemat beberapa byteJ, 26 byte
Sama seperti metode xnor .
sumber
Matlab, 44
Menggunakan fungsi anonim:
Contoh:
sumber
Scala,
4035 Karaktersumber
Tcl , 83 byte
Cobalah online!
sumber
PHP, 44 byte
Mengambil satu parameter baris perintah. Sekali lagi PHP menderita masalah yang sama dengan JavaScript .
Menggunakan solusi kanonik membutuhkan 53 byte (konversi derajat dan radian membutuhkan banyak karakter):
sumber
.
untuk penggabungan?.
. Diturunkan hingga diperbaiki