Arrr ... Ahoy di sana, aku maties! Unfurl tha 'mainsail! Penuh ke kanan! Ah, rasakan angin di rambutmu!
Benar, saya sayang ... Saya membutuhkan sedikit keahlian Anda! Kru saya adalah orang yang lebih dimodernisasi daripada diri saya sendiri ... Saya masih lebih suka poin kompas (lihat di sini untuk info lebih lanjut, Arr ...) sementara saya kru selalu menggunakan headin '.. Aku ingin cara yang mudah untuk mengubah omong kosong ini yang mereka sebut headin 'menjadi apa yang aku bisa mengerti, Arrr!
Apa yang saya butuhkan adalah kode yang 'diambil' input dari angka (desimal baik-baik saja) seperti itu ' 0 <= the headin' < 360
dan itu dikeluarkan jawaban' sebagai titik kompas terdekat! Arrr!
Berikut ini beberapa contoh:
> heading 0.1
North
> heading 11.25
North by East
> heading 22.7
North Northeast
> heading 44.99
Northeast
> heading 91
East
Sekarang, jika Anda tidak akan menjadi seperti itu jatuh tepat di tengah-tengah dua titik kompas, jangan khawatir, saya sungguh-sungguh ... Saya berharap kode untuk memuntahkan Between <point 1> and <point 2>
, mis. heading 5.625
akan mengatakan Between North and North by East
ini hanya terjadi untuk headin 'tha' menjadi memuaskan dalam persamaan di H = 5.625 + 11.25(N)
mana H menjadi 'headin' dan N menjadi bilangan bulat antara 0 dan 31 termasuk ...
Dua batasan ...
1) Saya tidak ingin Anda menggunakan array untuk menyimpan data Anda untuk poin atau judul ... Itu menipu, Pak, dan Anda bisa merasakan saya blunderbuss ... Ini memiliki t 'dihitung, jus' seperti dulu! Arrr!
2) Kode terpendek menang, atau aku akan membuat papan kamu berjalan ... Arrr!
'
(Apostrof) dalam satu pertanyaan. Hormat! : DJawaban:
Perl 5.10 menggunakan substitusi,
231228226224Empat baris baru ditambahkan untuk dibaca.
Sunting: Golf 2 byte lebih banyak menggunakan
pop
. Terima kasih @ Tom HastingsSunting: 2 byte lebih sedikit menggunakan
qw()
sumber
Saya menghabiskan terlalu banyak waktu untuk berburu harta karun di sini, tapi inilah solusi di Jawa :
sunting Jika saya meminimalkan kode di atas dan menjadikannya benar-benar jelek, ini akan menjadi ini:
Jawa, 770 karakter
sumber
aaarrrgs
Arrays.asList
perintah, maafkan saya di sini karena ketidaktahuan Java saya, tetapi bukankah itu menggunakan array penyimpanan? Atau apakah ini cara licik untuk memperkenalkan array dalam bentuk daftar? ;)switch
pernyataan sebagai gantinya (dengan beberapa karakter tambahan, sayangnya). Oh dan versi kental kode yang sama ditambahkan. Saya akan memikirkan lebih lanjut tentang meremehkannya dengan benar-benar mengubah cara kerjanya.Python, 264
Ini menggunakan huruf besar sesuai halaman wikipedia dan harus berfungsi untuk nomor apa pun.
sumber
Arrr Python, 336
Terima kasih @Jeen
sumber
Perl 5.10,
262257254Agak mirip dengan salah satu solusi Python:
Empat baris baru ditambahkan untuk dibaca.
Sunting: Tiga byte lebih sedikit berkat @Dom Hastings
sumber
;
di akhirsub p
dan beralihshift
kepop
.