Besok, 23 November, adalah Hari Thanksgiving di Amerika Serikat. Untuk mempersiapkan, Anda perlu memasak beberapa kalkun ASCII. Namun, karena Anda terlambat dalam perencanaan, Anda memerlukan program (atau fungsi) untuk membantu Anda dengan berapa banyak burung yang perlu Anda persiapkan.
.---. _
.' './ )
/ _ _/ /\
=(_____) (__/_/==
===================
Kalkun yang Anda temukan agak di sisi kecil, jadi Anda sudah menemukan rasio berikut - satu kalkun akan memberi makan:
- empat orang yang hanya suka daging putih dan tiga orang yang hanya suka daging hitam
- atau tujuh orang yang tidak peduli
- atau kombinasi keduanya.
Artinya, ada total 4 porsi daging putih dan 3 porsi daging gelap di setiap kalkun yang diberikan. Selanjutnya, Anda tidak dapat membeli dan memasak kalkun parsial.
Misalnya, untuk 3 orang yang hanya suka daging putih, 6 orang yang hanya suka daging hitam, dan 3 orang yang tidak peduli, Anda akan membutuhkan dua kalkun. Itu memberi 8 porsi putih dan 6 porsi gelap, yang cukup untuk memuaskan semua orang dan memiliki sisa daging putih:
.---. _ .---. _
.' './ ) .' './ )
/ _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/==
=====================================
Untuk 20 orang yang tidak peduli, Anda akan membutuhkan tiga kalkun, dan memiliki sedikit sisa putih atau gelap:
.---. _ .---. _ .---. _
.' './ ) .' './ ) .' './ )
/ _ _/ /\ / _ _/ /\ / _ _/ /\
=(_____) (__/_/== =(_____) (__/_/== =(_____) (__/_/==
=======================================================
Dan seterusnya.
Aturan
- Tiga input bisa dalam urutan apa pun yang Anda pilih, dan dalam format apa pun yang nyaman . Harap tunjukkan dalam jawaban Anda bagaimana input diambil.
- Tidak akan pernah ada persyaratan untuk lebih dari 25 kalkun (jadi maksimal 175 orang untuk memberi makan).
- Leading / trailing newlines atau spasi putih lainnya adalah opsional, asalkan karakternya berbaris dengan tepat.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Output bisa ke konsol, dikembalikan sebagai daftar string, dikembalikan sebagai string tunggal, dll.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
Jawaban:
Befunge-93,
231224 byteCobalah online!
Tiga nilai dibaca dari stdin dalam urutan: daging putih, daging gelap, tidak peduli.
sumber
APL (Dyalog) ,
120118104 byte14 byte disimpan berkat @ Adám
Cobalah online!
Putih pemilih dan gelap ada di sebelah kanan, yang tidak pilih-pilih di sebelah kiri.
Sayang sekali sebagian besar jumlah byte diambil oleh string saat ini.
Bagaimana?
⍵,⍺++/⍵
- Menciptakan berbagai whity, darky dan jumlah semuanya ditambah non pickys4 3 7÷⍨
- bagi dengan berapa banyak dari mereka mendapatkan keinginan mereka dari satu ayam⌈/
- ambil estimasi tertinggi dari ketiganya - jadi jika kita memiliki jumlah pencari daging gelap yang sangat tinggi, mereka tidak akan diabaikan⌈
- langit-langit, dalam hal hanya setengah ayam dalam permintaanKemudian kita membuat string, melampirkannya dengan
⊂
, lalu ulangi matriks tertutup ayam kali dihitung/
, dan akhirnya menggabungkan semua ayam dengan,/
.sumber
'='⍪⍨' .-_''/)\=('[4 19⍴10 10⊤¯35+⎕UCS'###(##-:77-&(#F*####+,&0N&&)#,N0Z&d++#']
dengan⎕IO←0
.Python 2 , 142 byte
Cobalah online!
-16 byte berkat Lynn
-4 byte terima kasih kepada Tn. Xcoder
dan kembali ke lambda xD
sumber
SOGL V0.12 , 65 byte
Coba Di Sini!
Urutan input adalah
white
,dark
, dan kemudianeither
.sumber
Python 2 ,
197189174 byteterima kasih kepada Erik the Outgolfer untuk -12 byte
terima kasih kepada Jonathan Frech untuk -1 byte
Cobalah online!
sumber
Arang , 76 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Cetak kalkun dengan indentasi 1 spasi.
Cetak tabelnya.
Masukkan jumlah pemakan daging hitam dan putih.
Ulangi satu kurang dari batas maksimum a) sepertiga dari jumlah pemakan daging gelap b) seperempat dari jumlah pemakan daging putih c) seperdelapan dari jumlah pengunjung.
Buat salinan kalkun.
sumber
Excel VBA,
222219211198 BytesFungsi jendela langsung VBE anonim yang mengambil input dari jangkauan
[A1:C1]
dengan urutan daging putih, daging gelap, dan acuh tak acuh dalam urutan dan output ke jangkauan[D1]
.Awalnya solusinya menemukan jumlah kalkun yang benar dan kemudian mengulangi pola kalkun yang berkali-kali. Idealnya ini kemudian akan langsung dikeluarkan ke jendela langsung VBE seperti yang ditunjukkan oleh fungsi di bawah ini
Versi ini pada awalnya menghasilkan respons yang benar, namun, ia segera diformat secara otomatis oleh kompiler, seperti
_
halnya karakter garis lanjutan, dan dengan demikian dipindahkan untuk hanya memiliki satu(spasi) karakter di sebelah kirinya, memecahkan pola.
Contoh yang ditunjukkan di bawah ini untuk kejelasan
Untuk memperbaiki ini karakter spasi terakhir (
, karakter 160, Alt + 255)
, karakter 32) sebelum
_
baris salah satu output diganti dengan spasi yang tidak putus (-3 byte untuk penggunaan
1
pernyataan split terbatas-8 byte untuk menggunakan pemindahan
=
ke dalam perpecahan dan menggunakan penambahan string pada penggabungan-13 byte untuk penggunaan ruang non-breaking untuk mencegah autoformatting dari output
sumber
Kotlin ,
207198 byteterima kasih kepada Taylor Scott untuk -7 byte
Ini belum berfungsi pada TIO , karena membutuhkan Kotlin 1.1Cobalah online!
sumber
JavaScript (ES6),
180179 byteOutput array string.
Tampilkan cuplikan kode
JavaScript (ES6),
182181 byteMenghasilkan satu string.
Tampilkan cuplikan kode
-1 byte (Arnauld):
a+3>>4
bukan(a+3)/4)
sumber