Kami punya beberapa tantangan bendera nasional sudah: AU CH FI FR GB GB IS KR NP AS ... Berikut lain, satu agak lebih maju:
Kembalikan atau cetak pola dekoratif dari bendera nasional Belarus sebagai matriks dengan dua nilai berbeda untuk merah dan putih.
Jika bahasa Anda tidak mendukung matriks, gunakan daftar daftar atau yang setara terdekat. Ruang kosong ekstra diizinkan di semua sisi. Matriks dapat ditransposisikan. Elemen-elemen dapat memiliki pemisah yang konsisten, dan begitu pula baris, misalnya output dapat JSON. Anda harus menggunakan pola ornamen versi 2012, bukan versi 1951 atau 1995. Ini kode-golf , jadi jawaban terpendek per bahasa menang.
Output sampel:
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
for s in S[:0:-1]+S:print s[:0:-1]+s
menggandakan garis, dan mencetak setiap baris berlipatJavaScript (ES6), 164 byte
Output ditransposisikan. Penggunaan
0
untuk putih,1
untuk merah.Cobalah online! (output yang sudah diraih)
Menggunakan Buffer () di Node.js menghemat 1 byte.
sumber
SOGL V0.12 ,
6156 byteCoba Di Sini!
sumber
Arang,
938981 byteJawaban arang pertamaku! : D
Cobalah online!
Disimpan 4 byte dengan mengeluarkan desain secara horizontal daripada vertikal (lebih sedikit baris baru).
Terima kasih kepada @Neil untuk menghemat 8 byte!
sumber
‖B
menerima beberapa operan, Beberapa kombinasi bahkan memiliki pengodean byte tunggal (¬
danL
misalnya)..
s akan menghemat beberapa byte karena Anda tidak membutuhkan spasi di akhir baris.‖B¬
dan itu tidak membantu karena string literal yang dipantulkan membutuhkan byte tambahan, tetapi‖BL
tidak menghemat byte karena string literal baris-terbalik adalah jumlah byte yang sama.‖BL
membuat saya menjadi 83 byte, dan‖B¬
dapat dilakukan dalam 81 byte: Coba online!Python 2, 153 byte
Cobalah online!
sumber
Perl 5 , 121 byte
Menggunakan
1
piksel putih dan0
merah.Skrip ini berisi karakter yang tidak patut dicetak sehingga hexdump yang dapat dibalik disertakan dalam tautan verifikasi di bawah ini.
Cobalah online!
Verifikasi panjang kode .
Penjelasan
Kuartal atas dari pola disimpan dalam gumpalan biner. Ini hanya menggunakan
pack
fungsi Perl dengan string biner asli (setelah mengganti.
dan#
dengan1
dan0
). Ini memungkinkan kita untuk menyimpan 8 bit pola di setiap byte. Setelah kami membongkar data, kami memiliki string biner panjang, yang kami pecah menjadi beberapa bagian dengan panjang 12, digabungkan dengan terbalik (kecuali untuk karakter tengah duplikat) dan kemudian loop atas daftar bagian (digabungkan dengan terbalik daftar, kecuali untuk elemen tengah duplikat) dan output mereka semua menggunakansay
, yang menambahkan baris barusumber