Catatan untuk mod, jika judulnya tidak adil, ubah ke apa pun, saya pikir itu lucu.
Anda ditugaskan menggantung lampu untuk musim Natal ini, dan keluarga Anda telah memutuskan bahwa untuk itu menjadi Natal yang meriah, Anda harus menggantung setidaknya 2 lampu Natal di rumah Anda. Jadi, tantangan Anda adalah, mengingat angka 1 < n
, menampilkan jumlah lampu Natal yang sesuai yang akan Anda gantung sesuai dengan spesifikasi berikut ...
Berikut adalah struktur lampu Natal dasar:
_?_
[___]
/:' \
|:: |
\::. /
\::./
'='
Satu-satunya bagian yang tidak pasti adalah tanda tanya, karena tergantung di mana cahaya mendarat di rantai, koneksi akan sangat berbeda.
Untuk cahaya pertama dalam rantai, Anda harus mengeluarkan:
.--._
_(_
[___]
/:' \
|:: |
\::. /
\::./
'='
Untuk lampu terakhir dalam rantai, Anda harus mengeluarkan:
_.--.
_)_
[___]
/:' \
|:: |
\::. /
\::./
'='
Dan untuk semua lampu di tengah:
_.--.--._
_Y_
[___]
/:' \
|:: |
\::. /
\::./
'='
Contoh:
N = 2 :
.--.__.--.
_(_ _)_
[___] [___]
/:' \ /:' \
|:: | |:: |
\::. / \::. /
\::./ \::./
'=' '='
N = 6 :
.--.__.--.--.__.--.--.__.--.--.__.--.--.__.--.
_(_ _Y_ _Y_ _Y_ _Y_ _)_
[___] [___] [___] [___] [___] [___]
/:' \ /:' \ /:' \ /:' \ /:' \ /:' \
|:: | |:: | |:: | |:: | |:: | |:: |
\::. / \::. / \::. / \::. / \::. / \::. /
\::./ \::./ \::./ \::./ \::./ \::./
'=' '=' '=' '=' '=' '='
Kredit
ASCII-Art diambil dari: http://www.chris.com/ascii/index.php?art=holiday/christmas/other
Ini dikembangkan oleh pengguna bernama "jgs", yang bertanggung jawab atas sekitar 40% konten di situs itu.
Aturan
- Ruang trailing baik-baik saja, sama dengan garis baru tambahan.
- Ada 1 lebih banyak ruang antara bohlam pertama dan terakhir dari sisa rantai.
- Anda hanya dapat mengambil 1 integer sebagai input, dan output HARUS berupa string, tanpa array.
- Program Anda mungkin memiliki fungsi yang tidak ditentukan untuk nilai kurang dari 2.
Ini adalah ascii-art code-golf , kemenangan byte-count terendah.
Jawaban:
SOGL V0.12 ,
73717066 byteCoba Di Sini!
-4 bytes dengan mengulangi string seperti
(YYY)
seperti jawaban Charcoal63 byte akan berfungsi jika 2 tidak perlu ditangani: /
sumber
save SOGL codepage encoded file
tombolnya, ia memberi Anda file 70 byte, yang dapat Anda muat di sana juga (walaupun tombol telusuri tidak jauh dari situ, perbaiki itu). SOGL menggunakan codepage khusus untuk melakukan itu. (codepage ini ditautkan dalam tajuk jawaban)Python 3,
200195191190186 byte-1 byte dari dylnan
-4 byte dari Rod
Mengambil input pada stdin.
Cobalah online!
Penjelasan:
Versi Perayaan Tambahan!
sumber
for s in l:print(s,s*x,s)
menghemat satu byte.Pyth ,
113107 byteCobalah online!
Bukan versi golf ...
sumber
JavaScript (ES6), 180 byte
Uji
sumber
JavaScript (ES6),
204201196194192 byteTampilkan cuplikan kode
sumber
.--._${(r=x=>x.repeat(N-2))(`_.--.--._`)}_.--.
dengan${(r=x=>x.repeat(N-1))(`.--.__.--`)}.
N
setelah panggilan pertamar
, tapi itu berhasil.Arang ,
7874 byteCobalah online! Tautan adalah untuk mengucapkan versi kode. Sunting: Disimpan 2 byte dengan menyederhanakan cara kabel dicetak. Disimpan 2 byte karena kode baru secara otomatis memasukkan input ke integer. Penjelasan:
Cetak kabel dengan mengambil tali
.--.__
, cetak hingga panjang 9, lalu ulangi sekali untuk setiap sambungan, akhiri dengan final.
sebelum pindah ke awal baris berikutnya untuk bohlam.Ulangi rangkaian konektor:
(
dan)
di ujung, danY
s di tengah.Pindahkan satu karakter ke kanan jika ini bohlam terakhir.
Cetak badan bohlam tanpa menggerakkan kursor.
Cetak tutup bohlam termasuk konektornya.
Pindah ke awal bohlam berikutnya (karakter tambahan jika ini bohlam pertama).
sumber
Excel VBA,
224207205 BytesFungsi jendela langsung VBE anonim yang mengambil input dari jarak
[A1]
dan keluaran ke jendela langsung VBE.Mencetak umbi baris demi baris, dari kiri atas ke kanan bawah
Contoh I / O
-17 Bytes berkat @ YowE3k
-2 byte untuk penambahan variabel sementara
b
sumber
: [Rept(B1,A1-2)]
Tepat sebelum awal loop tidak digunakan.C,
279278272262259 byteTerima kasih kepada @NieDzejkob karena telah menghemat enam byte!
Cobalah online!
Belum dibuka:
sumber
PHP,
276,307,303,301,293,283,280, 278 BytesVersi yang dapat dibaca untuk pengujian:
Periksa versi yang diperkecil di sini
Periksa versi yang dapat dibaca di sini
MEMPERBARUI
Membungkusnya dalam suatu fungsi,
sumber
\
sebelum digit pemisah, jadi hanya akan menghemat 1 karakter. Anda dapat menyimpan lain 2 chars dengan membuat karakter ruang bagian dari string yang lebih besar yang sama, yang berisi ekspresi di tengah ekspansi:$a[]=$r($b)." {$r($b,$n)} ".$r($b);
.9
sebagai pembatas tidak diperlukan melarikan diri, mungkin ini bekerja dengan nomor lain tidak0
$r()
fungsi lambda sebagai regulerfunction r()
(bisa di tempat yang sama, fungsi dalam fungsi dimungkinkan). Anda perlu memperbaiki penguraian string:" {r("")} "
tidak akan berfungsi. Lain -7 byte;)Java,
310307300275 byteTerima kasih kepada DevelopingDeveloper karena mengubahnya menjadi ekspresi lambda
Diperluas:
Melihat ke cara yang lebih pendek untuk melipatgandakan string, dan menemukan bahwa aliran secara mengejutkan lebih bertele-tele
Cobalah online!
sumber
String o="";
+o+=" .";
=String o=" .";
j=#
untuk loopBersih ,
305292288275 byteCobalah online!
sumber
Python 2 (PyPy) ,
365316315251245 byte-21 Berkat FlipTack
-43 Berkat ovs
-6 terima kasih kepada Tn. Xcoder
Cobalah online!
sumber
Kotlin , 261 byte
Yg diperindahkan
Uji
TIO
TryItOnline
sumber
Google Sheets, 190 Bytes
Fungsi lembar kerja anonim yang mengambil input dari jangkauan
A1
dan keluaran ke sel panggilansumber