Seorang pematung ditugaskan untuk membuat patung-patung es untuk museum baru di Greenland. Dia telah diberikan spesifikasi oleh bosnya, yang terdiri dari dua angka: [s, m] atau ukuran dan lelehan. Ukuran harus berupa angka ganjil. Dia diberi beberapa foto es dingin:
vvvvv [5, 0]
vvv
v
vvvvvvv [7, 0]
vvvvv
vvv
v
vvvvvvv [7, 2]
vvvvv
vvvvvvv [7, 3]
vvv [3, 1]
Dia membutuhkan program untuk membantu menggambar. Bahasa apa pun diizinkan. Program perlu mengambil S dan M, metode input apa pun dapat diterima. Anda kemudian harus mencetak representasi seni ascii itu.
S adalah berapa banyak v
s yang ada di lapisan pertama. M adalah berapa banyak lapisan yang dipotong dari bawah.
Ini adalah kode-golf , jadi seperti biasa kompetisi ini berbasis byte . Spasi putih dihitung untuk penghitungan byte. Paling tidak byte menang.
Sunting: Anda tidak akan pernah mendapatkan serangkaian angka yang tidak menghasilkan apa-apa, misalnya [5, 3]. Namun, kode pemeriksaan tidak diperlukan.
Jawaban:
05AB1E , 11 byte
Cobalah online!
sumber
V , 15 byte
Cobalah online!
Cukup mudah.
sumber
05AB1E , 12 byte
Kode:
Penjelasan:
Menggunakan pengkodean CP-1252 . Cobalah online!
sumber
;-Ý·¹+'v×.c
akan menghemat satu byteMATL , 22 byte
Cobalah online!
Penjelasan
sumber
Jelly , 19 byte
TryItOnline!
Bagaimana?
sumber
J’
(kisaran panjang dikurangi) juga akan memiliki efek yang sama, tetapi tidak ada versi yang lebih rendahJ
, danLḶ
itu agak lucu :)Batch, 142 byte
sumber
Ruby,
4644 byte2 byte disimpan berkat GB
sumber
puts
tidak perlu spasi putih?v*(s-2*i)
menggunakan?v*s;s-=2
Python,
7673 byteSunting: Disimpan 3 byte berkat @TuukkaX dan @ Challenger5 (Terima kasih!)
sumber
print
, ada ruang kosong yang tidak berguna :)lambda s,m:"\n".join([' '*(s/2-i/2)+'V'*i for i in range(s,m*2,-2)])
def f(s,m):
, menghemat dua byte.def f()
adalah 7lambda
adalah 7. dengan tip Challenger5, def sebenarnya lebih pendek. setidaknya jika itu yang Anda maksud seperti saya kira :)print
, jadi lebih pendek 4 karakter (lambda s,m:"\n".join(...)
), karenalambda
s pada dasarnya memiliki pengembalian implisit.JavaScript (ES6), 57 byte
Menghasilkan baris baru yang tertinggal. Jika sebuah baris baru dapat diterima, maka untuk 54 byte:
sumber
Python 2, 63 byte
sumber
Turtlèd , 53 byte
Cobalah online!
Penjelasan:
sumber
Java,
138137 byteTidak Disatukan:
Pembaruan: Satu byte dan loop body hilang berkat @ClaytonRamsey.
sumber
C, 83 byte
Tidak digabungkan dan digunakan:
sumber
Pyth, 21 byte
Suatu program yang mengambil input
S
diikuti olehM
, dipisahkan baris-baru, dan mencetak hasilnya.Suite uji
Bagaimana itu bekerja
sumber