Persegi panjang memiliki properti yang bagus ini - persegi panjang terdiri dari persis karakter!
Sebuah .. properti lebih menarik adalah bahwa persegi panjang dapat disejajarkan dengan baik dalam tabel perkalian - misalnya, tabel:
# ## ###
# ## ###
# ## ###
# ## ###
# ## ###
# ## ###
Tantangan Anda adalah, mengingat angka ( ), menghasilkan tabel perkalian n × diformat .
Aturan
- Anda dapat mengambil input di atas atau di bawah
- Aturan I / O standar berlaku
- Anda dapat memilih karakter non-spasi putih untuk mewakili blok; setiap karakter lain (meskipun baris baru khusus) dianggap spasi putih. Karakter yang dipilih dapat berbeda untuk input yang berbeda, tetapi harus sama di seluruh input
- Hasilnya dapat memiliki karakter yang tidak diperlukan, selama tabel sejajar dan tidak ada kemunculan karakter yang dipilih yang bukan bagian dari output yang diperlukan
- Pemisah harus 1 karakter lebar / tinggi, dan persegi panjang harus dikemas (yaitu tidak ada pemisah antara karakter mereka)
- Baris kosong bisa kosong, padding tidak diperlukan
- Hasilnya bisa berupa string, matriks, vektor garis, array array karakter, atau apa pun 2Dish
- Sebagai alternatif, Anda dapat mengeluarkan matriks / vektor-vektor-vektor / apa saja angka 2Dish, tetapi latar belakang & latar depan harus berupa 2 angka berbeda (yang dapat memvariasikan input ke input, tetapi tidak di seluruh output) dan tidak ada angka lain yang dapat ditampilkan. Karakter tambahan di sekitarnya juga diperbolehkan dengan format ini (meskipun mereka harus cocok dengan nomor latar belakang)
- Ini adalah kode-golf , jawaban terpendek dalam byte, per-bahasa, menang!
Contohnya
Untuk input 2
, output ascii-art yang valid, dengan karakter ∙
, adalah:
∙ ∙∙
Result: ∙ ∙∙.
∙ ∙∙
ya periode ada di sana hanya untuk membingungkan Anda
Jawaban lain yang valid sebagai matriks angka, dengan 2 sebagai nomor latar belakang dan 9 latar depan:
[[9,2,9,9,2,2],
[2,2,2,2,2,2],
[9,2,9,9,2,2],
[9,2,9,9,2,2]]
Contoh output yang tidak valid adalah
# # #
# # #
# # #
karena persegi panjang memiliki pemisah di antara mereka.
Contoh output untuk :
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####
1 0 1 1 0 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
Jawaban:
Haskell , 43 byte
Cobalah online!
Pendekatan pintar oleh Ørjan Johansen menghasilkan dengan 0 dan 1, menghasilkan setiap
10...00
bagian sebagai representasi string dari kekuatan 10.Haskell , 49 byte
Cobalah online!
Buat pola seperti
[1,0,1,0,0,1,0,0,0,...]
, lalu buat 2D dengan mengambilmin
pasangan. Keanehan pointfree menghemat 2 byte lebih mudah dibaca:Cobalah online!
sumber
flip(map.max)=mapM max
,.(->) b
, lalumapM :: (a -> b -> c) -> [a] -> b -> [c]
.flip(map.max)
kemapM max
R ,
5654433630 byteCobalah online!
Mengambil input satu di atasn (jadi mengembalikan matriks 3x3 untuk n=4 ). Mengembalikan matriks 1s (foreground), dan 0s (latar belakang) dengan baris / kolom tambahan nol di depan.
Berkat digEmAll untuk -7 byte.
sumber
JavaScript (ES6),
73 7269 byteMengembalikan string yang terbuat dari 1, spasi, dan umpan baris.
Cobalah online!
JavaScript (ES7),
87 8382 byteDisimpan 3 byte berkat @dzaima
Mengembalikan matriks biner, yang dibangun sel demi sel.
Cobalah online!
Bagaimana?
Lebarw dari matriks diberikan oleh:
(NB: Sebagaimana diizinkan oleh aturan tantangan, kami menghasilkan matriks lebar sebagai gantinya.)w+1
Demikian pula, sel yang terletak di kosong jika kuadrat berikut mengakui akar integer untuk atau :(X,Y) k=X k=Y
penentu yang adalah:
sumber
MATL,
1410 byteJawaban ini digunakan
1
untuk blok dan0
latar belakangCobalah di MATL Online
Penjelasan
sumber
Jelly , 8 byte
Cobalah online!
sumber
APL (Dyalog Unicode) ,
121012 byte SBCSCobalah online!
Edit: -2 byte dari ngn. +2 byte karena jawaban sebelumnya tidak valid (dengan ide berkat ngn dan dzaima).
Penjelasan
Outputnya akan terlihat seperti:
sumber
⎕
untuk menghindari{
}
Jelly , 7 byte
Cobalah online!
Menghasilkan matriks digit, menggunakan untuk persegi panjang dan untuk padding di antara mereka. TIO link berisi footer yang memformat matriks digit dengan cara yang dapat dibaca manusia dengan mengurutkan baris dan kolom.0 1
Penjelasan
Angka pada sel dari tabel yang dihasilkan akan menjadi jika salah satu atau adalah angka segitiga, atau sebaliknya (karena bitwise OR berfungsi seperti logika OR pada 0 dan 1). (Kami menggunakan , berkisar dari 1, karena Jelly menggunakan pengindeksan berbasis 1, jadi kami tidak perlu khawatir tentang kolom 0 yang salah penuh dengan 0s; kami harus menambahkan 1 ke input karena array dihasilkan oleh(x,y) 1 x y 0
R
Ṭ
berhenti pada elemen terbesar yang diberikan dalam input, jadi kita perlu menggambar garis di sisi kanan dan bawah.) Kesenjangan antara angka segitiga adalah bilangan bulat berurutan, sehingga blok persegi panjang dibentuk oleh celah antara ujung garis sebagai ukuran yang diminta oleh pertanyaan; dan penggunaan operasi ATAU (dalam hal ini, bitwise) memungkinkan garis saling bersilangan dengan benar.sumber
05AB1E , 9 byte
Menentukan program .f: Nat→List[List[Nat]]
Kode:
Menggunakan pengodean 05AB1E . Cobalah online! atau gunakan versi yang tercetak cantik .
Penjelasan:
sumber
C # (Visual C # Interactive Compiler) ,
9695 byte-1 byte berkat Perwujudan Ketidaktahuan
Cobalah online!
sumber
n--
dinew string
bagian?Python 2 , 67 byte
Cobalah online!
Mencetak garis kosong untuk garis kosong, yang memungkinkan tantangan.
Panjang yang sama (dengan input satu di atas
n
):Cobalah online!
sumber
Bahasa Wolfram (Mathematica) , 41 byte
Cobalah online!
sumber
Arang , 18 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
sumber
C # (.NET Core) ,
208155 byteCobalah online!
Versi yang jauh direvisi terima kasih kepada berbagai orang yang membantu (lihat komentar).
sumber
PowerShell ,
4240 byte-2 byte berkat mazzy .
Cobalah online!
sumber
Java 11, 109 byte
Port C # .NET . Hanya jawaban dari ASCII .
Cobalah online.
sumber
repeat
metode ini.APL + WIN, 29 byte
Penjelasan:
Contoh:
sumber
J , 17 byte
Cobalah online!
sumber
I.
trik ini !Mouse-2002 , 79 byte
Menyalahgunakan makro Mouse untuk mengulangi fungsionalitas.
Cobalah online!
sumber
Ruby , 55 byte
Cobalah online!
Bagaimana?
Pertama, buat baris pertama, lalu beralih melalui karakternya. Cetak seluruh baris jika karakternya adalah '#', jika tidak cetak karakter tunggal (yang merupakan spasi)
sumber
Brain-Flak , 170 byte
Cobalah online!
sumber
Perl 6 ,
3533 byteCobalah online!
Callable Anonim yang mengambil nomor dan mencetak tabel perkalian
*
dengan huruf s dengan trailing newline.Penjelasan:
sumber
Haskell,
6968 byteMengembalikan matriks angka.
Cobalah online!
Varian
f
dengan jumlah byte yang sama:sumber
Stax , 7 byte
Jalankan dan debug itu
Karakter yang dipilih adalah backtick. (Bagaimana Anda memformat kode yang dalam penurunan harga?)
Itu berarti
a
danb
dianggap sebagai spasi kosong.sumber
MathGolf , 20 byte
Cobalah online!
MathGolf benar-benar perlu mendapatkan beberapa fungsionalitas lagi untuk memisahkan daftar dan membuat daftar 2D.
Penjelasan
sumber
Tinta ,
151152151 byteCobalah online!
Untung aturan memungkinkan kelebihan karakter.
Sunting: +1: Memperbaiki jarak. Juga, tampilkan menggunakan @ (yang tidak perlu melarikan diri) daripada # (yang tidak)
Sunting: -1: Rupanya perbaikan itu juga berarti saya tidak lagi memerlukan periode tambahan untuk memaksa baris baru pada baris yang tidak kosong. Rapi.
sumber
C ++,
170156 byteTerima kasih untuk dzaima
sumber
SmileBASIC,
8377 byteOutput grafis. Masukan adalah
N-1
sumber
Python 3 ,
8883 byte-5 byte dari Jo King
Cobalah online!
sumber
l
luar loop. Cobalah online!Perl 6, 63 byte
sumber
.join(' ')
tidak melakukan apa-apa,'#'
bisa\*
sebaliknya, string baris baru dapat menggunakan baris baru literal, keduanyal.map(str x*)
bisa sebagai(str Xx l)
gantinya. 38 byteC (gcc) ,
108104 byte-4 bytes berkat ceilingcat
Cobalah online!
sumber