Dalam golf, goresan standar kursus dihitung menggunakan rumus ini:
(3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating
Tugas Anda adalah menghitung goresan standar lapangan golf, mengingat 4 input ini.
Anda harus mengambil input dalam bentuk standar apa pun dalam format
[num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating
tetapi jika menghemat byte, Anda banyak mengambil input dengan cara yang berbeda.
Anda harus menampilkan hasil akhir dengan metode apa pun yang diterima pada meta, seperti kembali dari suatu fungsi.
Kode terpendek menang karena ini adalah kode-golf !
Jawaban:
Gores, 145 byte
-2 Terima kasih kepada boboquack
- ??? karena menulisnya di Oto lebih pendek dari bahasa Inggris
(Karena Scratch adalah awal standar.)
Inilah contoh menjalankan:
.
sumber
Jelly , 6 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Java (OpenJDK 8) , 24 byte
Cobalah online!
sumber
Haskell , 22 byte
Cobalah online! Penggunaan:
(3#2)5 7
hasil35
.Format input yang tidak begitu bagus ini satu byte lebih pendek dari solusi straight forward:
Format input bebas titik dan bagus: (23 byte)
Cobalah online! Ikat
f
dan panggil denganf [3,2,5] 7
.sumber
Mathematica, 13
14byteTerima kasih kepada @GregMartin. Ambil input sebagai daftar panjang-4.
sumber
{3,4,5,-1}.#&
(13 byte).Python 3 , 28 byte
Cobalah online!
sumber
Javascript, 24 byte
sumber
Perl6, 16 karakter
(Yepp, itu adalah sub.)
Contoh dijalankan:
Cobalah online!
sumber
Julia 0,5 , 15 byte
Cobalah online!
sumber
⋅
tiga byte, atau saya salah hitung? Apakah.*
ada peningkatan? edit: Sudahlah — ketinggalan bagian penjumlahan..*
hanya melakukan multiplikasi elemen-bijaksana; tidak mengambil jumlah produk.C #, 24 byte
sumber
x86-64 Kode Mesin, 14 byte
Sebuah fungsi yang mengikuti konvensi pemanggilan System V AMD64 (di mana-mana pada sistem Gnu / Linux) yang mengambil empat parameter integer:
EDI
= num_of_3_par_holesESI
= num_of_4_par_holesEDX
= num_of_5_par_holesECX
= tingkat kesulitan_ratingIni mengembalikan nilai tunggal, goresan standar, dalam
EAX
register.Mnemonik perakitan tidak dikumpulkan:
Hanya terjemahan sederhana dari rumus. Yang menarik adalah bahwa ini pada dasarnya adalah kode yang sama yang akan Anda tulis ketika mengoptimalkan kecepatan juga. Ini benar-benar menunjukkan kekuatan x86 ini
LEA
instruksi, yang dirancang untuk l OAD sebuah e ffective sebuah ddress, tetapi dapat melakukan penambahan dan scaling (perkalian dengan kekuatan rendah 2) di dalam sebuah instruksi, membuatnya menjadi multi-tujuan kuat aritmatika pekerja keras .sumber
Jelly ,
107 byteCobalah online!
-3 byte terima kasih kepada Erik The Outgolfer!
Bagaimana itu bekerja!
sumber
[]
tetapi Anda dapat menggunakan3r5×⁸S_
ini lebih banyak (3r5
->[3, 4, 5]
,⁸
= argumen kiri untuk membedakannya dariS
,×
adalah komutatif).Oktaf , 14 byte
Cobalah online!
Sekitar dua kali panjang jawaban MATL . Saya awalnya benar-benar porting ini ke MATL, tetapi ternyata
iY*
lebih lama dari sekadar*s
. Perhatikan bahwa inputa
, yang berisi lubang-lubang secara berurutan dan kemudian kesulitannya, harus berupa vektor kolom.sumber
@(a)[3:5 -1]*a
. Input adalah vektor kolom dari[3 holes; 4 holes; 5holes; difficulty]
Julia , 21 byte
Cobalah online!
sumber
Neim , 7 byte
Penjelasan:
Program alternatif:
3𝐈ᛖ𝕋𝐬S𝕊
Alih-alih mendorong
345
dan mendapatkan karakter, buat array[1 2 3]
menggunakan3𝐈
, lalu tambahkan 2 ke setiap elemenᛖ
.Cobalah online!
sumber
This commit was pushed 8 days before the answer was posted.
yah, Anda sebenarnya tidak membutuhkan ini.C (gcc) , 30 byte
Cobalah online!
sumber
a
.Swift 3 ,
2519 byteSaya menyadari Anda tidak perlu
var f=
, karena Anda dapat menyebutnya seperti lambda Python:Uji secara online!
Penggunaan:, di
{$0*3+$1*4+$2*5-$3}(a,b,c,d)
manaa,b,c,d
parameternya.sumber
brainfuck , 39 byte
Cobalah online!
Mengambil input dan mencetak output sebagai karakter ASCII; misalnya, nilai 99 akan direpresentasikan sebagai c.
Penjelasan:
sumber
Gallina , 38 byte
sumber
dc, 14 karakter
Angka-angka perlu dilewatkan pada garis yang terpisah.
Contoh dijalankan:
Cobalah online!
sumber
Brachylog ,
1816 byteCobalah online!
-2 Berkat Fatalize .
sumber
∧5⟦₁↺b;?z×ᵐġ₃+ᵐ-
kurang dari 2 byte,,,, 12 byte
Penjelasan
Ambil input 4, 3, 2, 1 misalnya.
sumber
Cubix , 36 byte
Cobalah online!
Tonton Jalankan
Program yang cukup linier yang berputar kembali ke dirinya sendiri beberapa kali. Langkah dasar:
I3*r;U;
dapatkan input pertama, kalikan dengan 3 dan bersihkan tumpukanI4*/r\
dapatkan input berikutnya dan kalikan dengan 4. Putar hasilnya ke bawah.Iw5*Ur;w<;r;;W
dapatkan input selanjutnya, gandakan dengan 5 dan bersihkan tumpukanI-r;w;
dapatkan input terakhir, kurangi dari hasil par 5 dan bersihkan tumpukan/+p+O\@
tambahkan ke hasil par 4, bawa hasil par3 ke atas add, output dan berhentisumber
HP-15C (RPN), 14 byte
Kode hex instruksi:
Versi yang dapat dibaca:
Keempat angka dimuat ke dalam tumpukan sebelum menjalankan program.
sumber
Excel VBA, 20 Bytes
Fungsi jendela langsung VBE anonim yang mengambil input dari kisaran
[A3:A6]
yang[A3:A5]
mewakili jumlah3
,4
dan5
lubang par, masing-masing dan[A6]
mewakili kesulitan. Output ke jendela langsung VBEDi atas adalah versi panggilan yang kental
Di mana
"=3*A3+4*A4+5*A5-A6"
diberikan untuk menjadi formula sel anonim, seperti yang ditunjukkan oleh[...]
pembungkus, dan?
merupakan versiPrint
panggilan yang sudah usangDebug.
dengan konteks yang tersiratVersi yang lebih menyenangkan, 34 Bytes
Fungsi jendela langsung VBE anonim dengan kondisi I / O yang sama seperti di atas.
Di atas adalah versi panggilan yang kental
Di mana
"=SUMPRODUCT(A3:A5,ROW(A3:A5))"
diberikan untuk menjadi formula sel anonim, seperti yang ditunjukkan oleh[...]
pembungkus, dan?
merupakan versiPrint
panggilan yang sudah usangDebug.
dengan konteks yang tersirat . Dalam versi ini, kisaran[A3:A5]
dan nomor baris dari rentang itu (ROWS(A3:A5)
) dilewatkan sebagai arrayVersi Excel, 18 byte
Tentu saja, versi di atas memungkinkan mereka untuk mengungguli versi
dan
sumber
R ,
2523 byteCobalah online!
sumber
sum(scan()*3:5)-scan()
sedikit lebih kecilscan
ketika ada beberapa input seperti ini, tetapi whaddya tahu!Befunge , 15 byte
Cobalah online!
sumber
Japt , 12 byte
Menguji
sumber
Braingolf , 14 byte
Cobalah online!
sumber
05AB1E , 7 byte
Cobalah online!
sumber
3L
denganā
karena input pertama akan menjadi daftar dengan panjang 3 pula.