Masalah
masukan yang diberikan a,b,c
di mana a,b,c
bilangan bulat positif bahkan
dan a > b > c
Buat kotak karakter apa saja yang diizinkan dengan dimensi a x a
Tengahkan sebuah kotak karakter yang dibolehkan berbeda dengan dimensi b x b
di dalam sebelumnya
Tengahkan kotak karakter lain yang diizinkan yang berbeda dengan dimensi c x c
di dalam sebelumnya
Karakter yang Diizinkan adalah karakter ASCII [a-zA-z0-9!@#$%^&*()+,./<>?:";=_-+]
Memasukkan a=6, b=4, c=2
######
#****#
#*@@*#
#*@@*#
#****#
######
Memasukkan a=8, b=6, c=2
########
#******#
#******#
#**@@**#
#**@@**#
#******#
#******#
########
Memasukkan a=12, b=6, c=2
############
############
############
###******###
###******###
###**@@**###
###**@@**###
###******###
###******###
############
############
############
Aturan
- Kode terpendek menang
- Ingatlah bahwa Anda dapat memilih karakter mana yang akan dicetak dalam rentang yang diberikan
- Mengikuti baris baru diterima
- Trailing whitespace diterima
- fungsi dapat mengembalikan string dengan baris baru, array string, atau mencetaknya
Jawaban:
Arang , 14 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode.
sumber
Jelly ,
2019 byte-1 byte menggunakan quick
`
untuk menghindari tautan, seperti yang disarankan oleh Erik the Outgolfer.Program lengkap mengambil daftar
[a,b,c]
mencetak kotak menggunakana:2 b:1 c:0
... pada kenyataannya, seperti itu, akan berfungsi hingga 10 kotak, di mana kotak paling dalam adalah
0
( misalnya ).Cobalah online!
Bagaimana?
sumber
Python 2,
107103 byteProgram penuh, mencetak kotak dengan
a=2
,b=1
,c=0
Jawaban yang sedikit lebih buruk, dengan pemahaman daftar (104 byte):
sumber
C #,
274232 byteMengerikan bahkan untuk C # jadi pasti bisa bermain golf tapi pikiranku menjadi kosong.
Versi Lengkap / Terformat:
sumber
j + m <= n + c
bisa menjadin + c > j + m
i + m >= n
ken < i + m
i+m
4 kali, sehingga Anda dapat menambahkannya ke variabel di Andafor
untuk menghemati
secara terpisah, hanya menginisialisasii=m
dan membandingkani<b+m
; atau ... cukup gunakani
, initi=0
tapi lewatii<a
, lalu tambahkan dir[i]=new string('#',a),
sebelahj=0
, dan tambahkan kondisi untuk memeriksai
berada dalam batas untukj
lilitan (ini harus membayar, karena Anda kehilangan semua Linq).Haskell , 126 byte
Cobalah online!
sumber
JavaScript (ES6),
174170147 byteCobalah
Penjelasan
sumber
C (gcc) , 97 byte
Cobalah online!
sumber
V ,
70, 44, 42 byteCobalah online!
Ini mengerikan. Eww.Jauh lebih baik. Masih bukan yang terpendek, tapi setidaknya agak golf.Disimpan dua byte berkat @ nmjmcman101!
Hexdump:
sumber
MATL ,
2623222018 byteInput adalah vektor kolom
[a; b; c]
. Output menggunakan karakter2
,1
,0
.Cobalah online!
Selain itu, ia berfungsi hingga sepuluh kotak, bukan hanya tiga Berikut adalah contoh dengan lima kotak .
sumber
Mathematica, 49 byte
Mengambil input
[c, b, a]
. Outputnya adalaha=1, b=2, c=3
.Bagaimana?
sumber
Grid
tidak membuatString
atau melakukannyaPrint
itu.PHP> = 7.1, 180 byte
Dalam hal ini saya benci bahwa variabel dimulai dengan
$
PHPPHP Sandbox Online
sumber
$argv
sebagai array? Sudahkah Anda mencobanya? Sudahkah Anda mencoba terner yang terpisah?Mathematica, 173 byte
memasukkan
sumber
Python 2 , 87 byte
Cobalah online!
Secara hitung menghitung angka untuk dicetak dengan menambahkan nomor formulir
111100
. Ada banyak keburukan, mungkin ruang untuk perbaikan.sumber
Java 8,
265252 byte-13 byte dengan mengganti karakter dengan angka.
Pasti bisa bermain golf dengan menggunakan pendekatan yang berbeda.
Penjelasan:
Coba di sini.
sumber
JavaScript (ES6), 112
Fungsi anonim mengembalikan string multi baris. Karakter 0,1,2
Kurang golf
sumber
PHP> = 5.6, 121 byte
Jalankan dengan
-nr
atau coba online .Gabungan loop lagi ... Saya suka mereka!
kerusakan
sumber