Sambil bergerak, saya memecahkan lampu saya. Sekarang, saya perlu yang baru. Tugasmu untuk membuatkanku lampu! Saya tidak yakin ukuran apa yang saya inginkan, meskipun saya tahu saya ingin yang berlekuk-lekuk.
Program / fungsi Anda harus menerima input angka, dan mencetak lampu dengan banyak coretan / gundukan.
Contoh:
Memasukkan:2
Keluaran:
/ - \ () () / __ \
Memasukkan:3
Keluaran:
/ - \ () () () / __ \
Memasukkan:5
Keluaran:
/ - \ () () () () () / __ \
Aturan:
- 0 & angka negatif tidak masalah
- Untuk memberi lampu (tantangan ini) lebih banyak variasi, Anda harus mengubah kap lampu.
- Lebar mereka harus 4 karakter dan tinggi 1 karakter.
- Mereka bisa dalam bentuk apa pun, termasuk bentuk non-kap lampu.
- Mereka tidak boleh mengandung spasi putih.
- Basis harus tetap sama.
- Anda harus menunjukkan contoh input & output dengan kap lampu Anda.
- Kode terpendek menang!
ABBB..BBBC
. Persyaratan untuk mengubah bagian hanya berarti orang akan menggunakan string bawaan yang pendek.Jawaban:
Pyth - 16 byte
Menggunakan tanda kutip untuk naungan karena N diinisialisasi dengan itu.
Cobalah online di sini .
Sampel untuk 5:
sumber
Snowman 0.2.0 , 42 karakter
Contoh dijalankan:
Jadi saya hanya memperhatikan bahwa saya lupa menerapkan kemampuan untuk melarikan diri backslash dalam string ketika saya memecahkan tantangan ini. Itu pasti akan menjadi sesuatu di versi berikutnya, tetapi untuk sekarang, inilah yang saya lakukan untuk mencetak baris terakhir:
92
adalah kode ASCII untuk garis miring terbalik,wR
membungkusnya dalam sebuah array, dan sekarang saya dapat mencetaknya dengansP
"string" di Snowman sebenarnya hanya array angka.sumber
> <> ,
434138 byteInput melalui titik kode, mis. Spasi 32. Ini menggunakan bagian dari kode program sendiri sebagai kap lampu, sehingga menghasilkan sesuatu yang terlihat seperti parabola:
(Saran terima kasih kepada @randomra)
Untuk tiga byte lagi, kita dapat mengubah baris ketiga untuk menambahkan sedikit penyesuaian:
Ini menghasilkan salah satu dari lampu yang menembakkan cahaya ke atas, karena tidak ada cara yang lebih baik untuk meletakkannya:
sumber
R,
545246 byteDalam versi ini, input dan output hampir dicampur bersama:
{masuk / keluar} PUT:
EDIT 1 : -2 byte berkat komentar @manatwork.
EDIT 2 : -6 byte. Kredit penuh kembali ke @manatwork
sumber
" /_\\"
seharusnya"/__\\"
. BTW, apakah itu\r
perlu?\r
menyelamatkan saya dua byte! Seharusnya baca ulang kode saya! Terima kasih!cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")
sepertinya berhasil.Straw , 26 byte (tidak bersaing)
Gunakan
'--'
sebagai kap lampu,ambil input di unarysekarang dalam desimalsumber
CJam, 18 byte
Contoh dijalankan untuk input 5:
Cobalah online di sini
sumber
JavaScript ES6, 34 byte
Baris baru itu penting
Contoh dengan input 5:
sumber
sed, 28 byte
Mengambil input di unary. Warna adalah pilihan yang jelas (sama seperti pangkalan).
Uji coba
sumber
Gema: 30 karakter
Contoh dijalankan:
sumber
jq: 30 karakter
(29 karakter kode + 1 opsi baris perintah karakter.)
Contoh dijalankan:
Tes online (Melewati
-r
URL tidak didukung - periksa sendiri Output Raw.)sumber
C, 54 byte
Panggil
f()
dengan ketinggian lampu yang diinginkan.Cobalah di ideone.
Contoh output untuk 5:
sumber
Pyke, 15 byte
Coba di sini!
Output:
sumber
Kotlin , 36 byte
Cobalah online!
sumber
Spasi , 169 byte
Huruf
S
(spasi),T
(tab), danN
(baris baru) ditambahkan hanya sebagai penyorotan.[..._some_action]
ditambahkan sebagai penjelasan saja.Cobalah online (dengan spasi, tab, dan baris baru saja).
Penjelasan dalam pseudo-code:
Dorong semua karakter dalam urutan terbalik ke tumpukan, lalu cetak dalam satu lingkaran.
CATATAN:
i
dalam pseudo-code di atas disimpan kembali di tumpukan di setiap iterasiLOOP
, karena kami tidak ingin meninggalkannya di tumpukan yang akan dicetak di akhir.sumber
Kanvas , 8 byte
Coba di sini!
Penjelasan:
sumber
05AB1E ,
17151311 byte-2 byte (17 → 15) berkat @EriktheOutgolfer .
-2 byte (13 → 11) setelah diilhami oleh jawaban Canvas @dzaima .
Tutup sama dengan alas (
/__\
).Penjelasan:
Jawaban lama 13 byte:
Cobalah online.
sumber
Excel, 31 byte
Fungsi lembar kerja anonim yang mengambil input sebagai numerik dari rentang
[A1]
dan output ke sel panggilan.Lampu ini musikal - dan akan membantu menghidupkan dan meringankan hari Anda.
Keluaran
sumber
PowerShell 5.1,
2826 BytesTerima kasih Mazzy untuk 2 byte
Karena keteduhan dapat berupa 4 karakter, menggunakan angka menyimpan sepasang tanda kutip. Bagian tersulit adalah menemukan warna yang tampak bagus.
Keluaran:
sumber
8008;," ()"*"$args";"/__\"
Python 2, 36 byte
Untuk input 4:
Perhatikan bahwa untuk Python bahwa setiap kap lampu menggunakan pipa kurang dari satu byte.
-1 byte, terima kasih kepada @Alex!
sumber
print"-"*4+"\n ()"*input()+"\n/__\\"
Japt , 17 byte
Cobalah online!
Output untuk
5
adalah:sumber
¥
.SWI-Prolog,
7360 bytea(5).
outputsumber
Julia, 36 byte
Ini menciptakan fungsi tanpa nama yang mengambil integer sebagai input dan mencetak ke stdout.
Contoh:
sumber
Bash + coreutils, 37 byte
Baris baru diperlukan dan dihitung dalam total byte. Diperlukan GNU sed.
Lari:
Keluaran:
sumber
Ruby, 42 byte
sumber
Neoscript , 28 byte
sumber
Java
711,848337 byteCobalah online. (CATATAN: Java 11 belum didukung pada TIO, jadi
String.repeat(int)
telah ditiru denganrepeat(String,int)
untuk byte-count yang sama.)Digunakan
i!!i
sebagai topi.¡!!¡
terlihat lebih baik , tetapi dua byte lebih banyak.Penjelasan:
sumber
Perl 5 , 24 byte
Cobalah online!
Gunakan
1000
sebagai penutup.sumber
Di depan , 38 byte
Cobalah online!
Sampel
sumber
Befunge-93 , 50 byte
Cobalah online!
Contoh dengan Input 3
sumber
PHP, 38 byte
Simpan ke file; jalankan sebagai pipa dengan
-nF
atau coba online .sumber