Tantangan
Diberikan input n
, cetak kue seni ASCII n
lapisan tinggi, dilihat dari samping, dengan dua lilin di atasnya. Lihat contoh di bawah untuk detailnya.
Keluaran
>> cake(1)
_|_|_
| |
+-----+
>> cake(3)
_|_|_
| |
+---------+
| |
+-------------+
| |
+-------------+
...dan seterusnya.
Aturan
- Celah standar dilarang
- Silakan coba solusi cerdas
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang. Namun, jawabannya tidak akan dipilih.
Selamat bersenang-senang!
code-golf
ascii-art
kolmogorov-complexity
dkudriavtsev
sumber
sumber
i=int(input())
int(input())
keinput()
danprint
pernyataan, ditambah Anda dapat mengubah empat spasi menjadi satu (jika itu tab, ubah ke spasi untuk membuatnya lebih jelas bahwa itu adalah satu karakter) . Plus bytecount Anda terlalu tinggi untuk beberapa alasan.Ruby,
109107 bytesumber
Batch, 233 byte
Lebih pendek dari Python? Pasti ada yang salah ...
sumber
JavaScript (ES6), 134 byte
Kue rekursif.
Demo
sumber
Haskell, 103 byte
Menentukan fungsi
g
yang mengembalikan daftar string yang berisi garis-garis outputsumber
05AB1E,
115, 101 karakterMenyimpan 14 karakter berkat Adnan!
Pasti ada ruang untuk bermain golf di sini.
Cobalah online!
Perhatikan bahwa ini akan mencetak semuanya dengan satu ruang.
sumber
×
perintah. Ini adalah contoh cara penggunaannya.Python 2, 122 byte
sumber
Python 3, 162 karakter
Ini tidak terlalu pintar, tetapi saya belum pernah melakukan ini sebelumnya. (Edit: menghapus tanda kurung yang tidak perlu; dikurangi satu karakter lagi)
sumber
Pyth, 73 byte
Program yang mengambil input bilangan bulat pada STDIN dan mencetak hasilnya.
Mungkin masih ada beberapa golf yang harus dilakukan di sini.
Cobalah online
Penjelasan datang nanti
sumber
JavaScript (ES6), 171 byte
Pass pertama, mungkin tidak optimal ...
sumber
PHP,
150147138136130140 bytependekatan baru:
versi lama untuk referensi:
sumber
$argv
. : - /Vimscript,
116115 byteCukup berantakan tapi berhasil!
Untuk menyebutnya:
call A(3)
di buffer kosong . Untuk memuat fungsi,source cake.vim
Penjelasan
2i+<Esc>5i-<Esc>
menulis baris pertama+-----+
o||<Esc>5i<Space><Esc>
menambahkan| |
pada baris keduaVkyjply4lpjy4hp
disimpan di makro@z
- secara visual memilih kedua garis, menariknya, menempelnya di bawah dan menambahkan 4 garis dan spasi untuknya.#@z
mengulangi ini#
kaliddl4x
menghapus baris terakhir dan menghapus untuk tanda hubung ke bagian bawah kue untuk membuatnya sama dengan bagian atas lapisan bawahggd$i_|_|_
mengganti baris pertama dengan bagian atas kue%ce
lalu pusatkan seluruh kue ke lebar lapisan bawah! !sumber
SOGL V0.12 ,
2726 byteCoba Di Sini!
Penjelasan:
sumber
Excel VBA,
139130127 BytesJendela langsung VBE anonim yang mengambil input dari sel
A1
dan menampilkan kue ke jendela langsung VBEsumber
CJam, 79 byte
Cobalah online
sumber
QBasic, 115 byte
Tidak disatukan
Cetak baris teratas dengan lilin; lalu cetak sisa kue dua baris sekaligus.
SPC
, ketika digunakan dalam sebuahPRINT
pernyataan, memancarkan jumlah spasi yang diberikan. Mudah, ketika diberi argumen negatif, itu memperlakukannya sebagai 0, jadi fakta yangindent - 2
ada-2
di iterasi terakhir bukan masalah.STRING$
mengambil hitungan dan kode karakter (di sini, 45 untuk-
) dan mengulangi karakter itu beberapa kali. Di sini, kita harus membuat case-case baris terakhir (kapani=n
) menjadi 4 hyphen lebih pendek dari yang seharusnya.sumber
C (gcc) ,
158153 byte-5 bytes berkat ceilingcat.
Cobalah online!
sumber