... Maukah Anda membantu saya mengabadikannya?
Saya sudah memiliki bantal ini beberapa tahun sekarang, dan tampaknya sudah waktunya untuk menyingkirkannya. Bisakah Anda menulis fungsi atau program, yang dapat saya bawa dan gunakan untuk membuat ulang bantal ini setiap kali saya ingin bernostalgia sedikit.
Itu harus bekerja tanpa argumen masukan.
Outputnya akan terlihat persis seperti ini (trailing newlines dan spasi OK).
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
Ini kode golf, jadi kode terpendek dalam byte menang!
Papan peringkat
code-golf
ascii-art
kolmogorov-complexity
Stewie Griffin
sumber
sumber
Jawaban:
05AB1E ,
1815 byteKode:
Penjelasan:
Menggunakan pengkodean CP-1252 . Cobalah online!
sumber
/// , 116 byte
Cobalah online!
Sunting :
\\\\\\\\\\\\\\\/
dan\\\\\\\\\\\\\\\\
masing - masing sebenarnya adalah satu / dan \.Sunting : -3 karena saya berpikir untuk menghapus
i
. Saya pikir ini tidak bisa golf lebih lanjut.sumber
Python 2, 49 byte
Terima kasih kepada Mitch Schwartz untuk metode bersih ini yang menghemat satu byte. Idenya adalah untuk mencetak empat baris
('\\'*5+'/'*5)*6
, menukar peran garis miring dan garis miring terbalik, dan kemudian lakukan seluruh proses itu 6 kali. Dua karakter disimpan dia
danb
, dan ditukar sebagaia,b=b,a
. Double-loop ganda dengan menghasilkan string kode berikut, kemudian mengeksekusi denganexec
:50 byte:
Membuat string baris, mencetaknya empat kali dan kemudian membaliknya, lalu melakukannya 6 kali. Lakukan dengan membuat kode berikut, kemudian jalankan:
Berikut adalah beberapa iterasi golf saya:
sumber
05AB1E, 15 byte
Cobalah online!
Penjelasan:
Menggunakan pengkodean CP-1252 .
sumber
JavaScript (ES6),
686058 byteFungsi rekursif. Beberapa optimasi diinspirasi dari jawaban chocochaos .
Demo
Tampilkan cuplikan kode
sumber
&1
dan menyimpan dua byten < 480
. Untukn >= 480
, kami perlu kurung:(n/240^n/5)&1
.Bubblegum , 30 byte
Jawaban Bubblegum wajib.
sumber
Haskell,
777057 byteMembosankan
concat
dan danreplicate
bukannya bermain dengan sinus. Lama adalah:sumber
Brainfuck, 140 byte
:-D
sumber
Python 2,
8680767473 byteMungkin bisa bermain golf lagi, tapi ini awal.
Sunting
Disimpan 6 dengan menghapus beberapa tanda kurung yang tidak dibutuhkan
Lain 4 dengan menggunakan string tunggal dan kemudian membalikkannya
Terima kasih @ adnan Sudah larut malam tadi malam dan masih belum sepenuhnya bangun: hlm
-1 dengan memindahkannya
*24
ke variabel alih-alih menggunakannya dua kalisumber
*6*4
sama dengan*24
? : pBrainfuck, 149 byte
Penerjemah terbaik EVAR!
Ini menggunakan 6 sel (tanpa pembungkus, tanpa modulo). Di sini mereka:
The
00
sel yang digunakan untuk counter lingkaran. Di sini, penghitung diisi dengan nilai awal:Penghitung paling kiri adalah untuk loop terdalam (ya, saya menggunakan loop bersarang dari kedalaman 3). Harap dicatat bahwa sel ke-4 (
04
penghitung) digunakan dua kali, sekali untuk/////\\\\\...
, dan sekali untuk\\\\\/////...
setiap kali.0A
,2F
dan5C
adalah karakter\n
,/
dan\
, masing-masing.sumber
Python 2.7 66 -> 56 -> 55 byte
baru mengenal kode golf
Terima kasih Stewie Griffin
Lupa spasi putih konyol;)
sumber
d
dane
, mungkin lebih. Saya belum diuji ini, tetapi harus dekat:print(4*c+4*(6*b+"\n"))*3
. Kurang dari 5 byte.a="/"*5+"\\"*5;print(4*(6*a+"\n")+4*(6*a[::-1]+"\n"))*3
Brainfuck, 179 byte
Saya tahu ini bukan skor terbaik di utasnya tetapi saya ingin mencoba brainfuck dan mencobanya.
Sunting: Saya pasti membuat kesalahan saat menyalin. Versi ini seharusnya berfungsi
sumber
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
empat kali, kemudian tak terbatas\
.Dyalog APL , 24 byte
sumber
'/\'[4⌿5/2|+/¨⍳6 12]
(wajib⎕io←0
)Pyke, 16 byte
Setelah pembaruan hari ini yang diizinkan
"
dalam string literal, 17 byteCoba di sini!
sumber
MATL ,
1816 byteCobalah online!
Penjelasan
sumber
Pyth, 22 byte
Coba di sini .
Penjelasan:
Maaf jika penjelasannya agak sulit dimengerti, tapi itu agak rumit.
sumber
V ,
2221 byteSunting Satu byte menang, terima kasih @DjMcMayhem:
Perubahannya adalah:
Y4P
->4Ä
Gunakan baris duplikat V bukan perintah bawaan Vim (ini akan menambah baris kosong di akhir paragraf)3äG
->3ä}
Gandakan paragraf alih-alih seluruh buffer (untuk menghindari baris kosong yang dihasilkan oleh perubahan sebelumnya)Pos asli
Cobalah online
Terurai seperti ini:
sumber
5á\5á/05ä$5Ä5x$p4Ä3äG
yaitu gantiY4P
dengan4Ä
tetapi karena alasan yang saya tidak mengerti itu menyalin baris kosong tambahan ... Jika Anda bisa mencerahkan saya pada yang satu ini akan menyenangkan. Juga jika saya menemukan waktu luang, saya dengan senang hati akan berkontribusi pada bahasa (terutama edisi # 4 )Ä
adalah sinonim untukdd
, bukanY
. Ini biasanya bukan masalah, tetapi menyebabkan beberapa masalah jika buffer hanya memiliki satu baris atau jika Anda berada di baris terakhir.3äG
dengan3ä}
karena tidak akan menarik baris baru terakhir. v.tryitonline.net/…Jelly ,
1716 byteCobalah online!
Berkat 6710 (miles) untuk -1 byte.
sumber
⁾/\ẋ6Wẋ4;U$ẋ3x5Y
Y
s!Sebenarnya , 21 byte
Cobalah online!
-1 byte dari Adnan
Penjelasan:
sumber
"/\"5*S
untuk membuat string garis miring?Ruby, 46 byte
Membuat string berikut (70 karakter, satu set lebih dari yang dibutuhkan) kemudian bergantian antara karakter sampel
0..59
dan5..64
darinya.kode dan output
kesalahan yang menarik (7 bukannya 5)
sumber
APL, 30 byte
Saya cukup baru untuk APL, (Saya menggunakan APLX, tetapi ini harus bekerja di sebagian besar implementasi APL), jadi ini adalah solusi yang cukup sederhana.
Penjelasan:
sumber
C,
6661 byte5 byte disimpan berkat orlp.
Karakter langsung dengan pencetakan karakter. 61 karakter per baris, terakhir adalah baris baru (ASCII 10) dan yang lainnya bergantian antara
/
47 dan\
92.sumber
i;f(){for(i=1463;i;)putchar(i--%61?i%61/5+i/244&1?92:47:10);}
.i--
tetapi saya tidak punya waktu untuk mencarinya.Python 2, 63 byte
Untuk Python 3, lakukan ini (65 byte):
sumber
/////\\\\\/////...
empat kali, dipisahkan oleh baris baruBrainfuck yang memodifikasi sendiri , 91 byte
Cobalah online!
Sama seperti jawaban brainfuck saya , tetapi menggunakan 3 karakter terakhir dari kode sumber alih-alih menghasilkannya saat runtime.
sumber
J,
312819 bytePemakaian
sumber
Oktaf,
5048 byteFungsi anonim:
Anda dapat mencoba online di sini . Cukup jalankan perintah di atas lalu jalankan fungsinya dengan
ans()
.Pada dasarnya ini menciptakan array nilai 47 yang 4 tinggi dan 5 lebar. Ini kemudian menciptakan array nilai 92 yang berukuran sama.
Kedua array tersebut digabungkan menjadi kotak-kotak
[A B;B A]
. The''
concatenated juga untuk memaksa konversi ke string karakter.Akhirnya seluruh array direplikasi 3 kali turun dan 6 kali melintang untuk membentuk ukuran akhir.
sumber
ans=
sebelum bantal. Setelah itu dalam fungsi menyiasati ini karena diharapkan untuk mengembalikan jawaban ke variabel daripada menampilkannya.ans()
). Tidak ada gunanya, karenaans()
masih mencetakans
ketika dijalankan!ans()
adalah pegangan fungsi yang bisa dipanggil, jadi Anda tidak perlu menetapkannya ke sesuatu dengan, misalnyaa=@...
, karena itu secara implisit ditugaskanans
sebagai pegangan. Juga tidak mencetakans=
ketika dijalankan kecuali Anda secara khusus memintanya dengan tidak melakukan apa pun dengan nilai yang dikembalikan dan tidak menambahkan;
. Jika Anda melakukannyadisp(ans())
hanya akan mencetak output yang tepat (tidakans=
). Tapi ya, peringatan itu menjengkelkan, namun itu tidak terjadi sebelumnya, jadi itu bukan khusus bahasa, tetapi lebih khusus penerjemah.disp(ans())
sebelum mendapatkan output Anda, maka Anda perlu menambahkan 12 byte ke jawaban Anda. Pendapat saya sendiri adalah inilah cara oktaf menyajikan hasilnya dan itu bagus.PHP,
7369 byteDemo
http://ideone.com/z7N1Md
sumber
for($s='/\\';$i<1440;$i++)echo$i%60<1?'\n':'',$s[($i/5+($i/240|0))%2];
(ganti\n
dengan baris baru nyata).echo
bukan fungsi, jadi, tidak perlu tanda kurung. Juga,echo
dapat menerima beberapa nilai, dipisahkan dengan koma. Ini benar-benar menghilangkan kebutuhan akan tanda kurung tersebut. Dan kemudian, di dalam Anda$s[...]
, perhitungan terluar tidak membutuhkan tanda kurung juga, karena itu terkandung dalam layu[]
. Menggunakan$s[($i/5+($i/240|0))%2]
memiliki efek yang sama dan lebih pendek.echo
danprint
menerima beberapa parameter. Tetapiprint
membutuhkan tanda kurung dengan beberapa parameter ketika digunakan pada kenaikan, kondisi atau penugasan loop.<1
, dengan mengganti ekspresi,,echo$i%60?'':' ',
baris baru sebagai ekspresi 3 di ternary.Java 7, 120 byte
Dorong semuanya menjadi satu lingkaran. Beats Brainfuck, misinya tercapai.
Lihat online: https://ideone.com/pZjma3
sumber
Vim,
4427 byteEDIT Lot of bytes menang berkat @DrMcMoylex:
Jawaban asli:
Saya tidak yakin itu benar-benar cocok dengan aturan situs ini, tetapi saya pikir itu menyenangkan untuk mencobanya:
Yang bisa diuraikan seperti ini:
sumber
5i/<esc>5a\<esc>0y$5P
di awal untuk menghemat 9 byte.Brainfuck, 168 byte
sumber