Tujuan Anda adalah menulis program terpendek yang menghasilkan "Hello-World!" sebagai seni ASCII.
Aturan:
- Itu harus dapat dibaca manusia, saya tidak peduli tentang ukurannya (cols / rows)
- Keluaran harus hanya berisi spasi (""), benda tajam ("#") dan baris baru
- Output harus bekerja dengan font monospace (tetapi huruf-huruf tidak perlu menggunakan font monospace)
- Dalam hasilnya, setiap karakter harus dipisahkan satu sama lain oleh setidaknya satu spasi
Silakan tambahkan judul dengan bahasa dan jumlah byte dalam kode Anda.
code-golf
ascii-art
hello-world
sebcap26
sumber
sumber
bash
: 33 karakter - pastebin.com/HZ1w8z8g Apakah ini dapat diterima?Jawaban:
Saya benar-benar menikmati yang ini
Perl,
126 116 114 102 9887 (69) karakter (hanya ascii & tidak ada font eksternal)Sampai sekarang solusi ascii terpendek yang tidak menggunakan font eksternal.
Yah, saya ingin menghadirkan beberapa solusi elegan tetapi @Ilmari Karonen menantangku
unpack
... seharusnya tidak melakukan itu :-)Nah, kode karakter
92 8869 ini menghasilkan keluaran terbaca uglish yang identik dengan @Ilmari Karonen:Varian yang lebih elegan tanpa membongkar (88 karakter):
Tapi saya pikir seperti |. | E || .- |||., D! sesuatu yang menyerupai Hello-World! dan tidak boleh diizinkan, jadi solusi nyata ada di sini - bongkar varian, 87 karakter :
Keluaran:
Varian yang lebih elegan di 98 karakter:
Keluaran:
Solusi yang lebih lama (114 karakter), berbagai jenis pengkodean:
Keluaran:
sumber
e
, tapi saya tahu Anda melakukan huruf besar untuk membuatnya dapat dibaca sebagai font lima piksel tinggi ...JavaScript, 178 byte
Itu bekerja di Firefox 27 Scratchpad.
sumber
Mathematica
101 9998Ini meraster ekspresi, memperoleh data gambar biner, mengonversi masing-masing 1 menjadi "#", masing-masing 0 menjadi "" (ruang kosong) dan menampilkan output dalam kisi 12 dengan 130 karakter.
Satu karakter hemat berkat Jonathan Van Matre.
sumber
Delphi 85 byte
Saya tahu, ini bukan solusi tercantik tetapi tidak ada aturan yang mengatakan Anda tidak bisa menggunakan sumber daya eksternal.
Hasil:
sumber
TStrings
gantinya. (Tapi tetap instantiasi denganTStringList
.)do X
. Isi dari "sumber daya eksternal"X
dibiarkan tidak ditentukan (itu bekerja untuk saya, bukankah itu cukup?), Tetapi saya telah memberikan beberapa saran yang mungkin di bawah ini ...Perl 5, 54 byte / 71 karakter ASCII yang dapat dicetak
Berikut adalah versi ASCII 71-char yang dapat dicetak:
Versi 54 byte berisi karakter yang tidak dapat dicetak, jadi saya menyediakannya sebagai hex dump. Pada sistem Unixish, Anda dapat menggunakan
xxd -r
untuk mengembalikan hex dump menjadi skrip Perl yang dapat dieksekusi:Keduanya harus dijalankan dengan
perl -M5.010
untuk mengaktifkan fitur Perl 5.10+say
. Mereka akan menghasilkan output berikut:(Ditunjukkan sebagai tangkapan layar, karena ketinggian garis besar pada SE membuat ASCII jelek dan sulit dibaca. Huruf kecil "e" agak canggung, tapi saya percaya ini memenuhi syarat sebagai dapat dibaca, jika hanya nyaris begitu.)
Ps. Jika output dari solusi di atas terasa terlalu minimalis untuk Anda, berikut adalah varian 92-karakter yang menghasilkan output yang mirip dengan solusi Tomas :
Berikut screenshotnya:
Pps. Saya cukup yakin ini ( GolfScript, 51 karakter ) adalah solusi cetak-ASCII terpendek, jika Anda tidak menghitung yang hanya memanggil banner / FIGLet atau yang curang dengan cara lain:
Outputnya sama dengan solusi Perl 71-char saya di atas.
sumber
unpack
:-) Menemukan solusi 69 karakter (87 dengan hasil yang bagus dari saya).Shell + Figlet (35)
sumber
-f banner
Ini adalah font pertama yang saya temukan yang menggunakan # alih-alih * atau | dan _.Python
260 215 186152Python
196 183 130114 (tetapi lebih jelek)Saya menggunakan data zip dalam pengkodean base64. dan kodenya decode dari base64 encoding dan kemudian unzipping.
sumber
PHP - 183 byte
Menggunakan seni ASCII sebcap26 sebagai sumber ...
sumber
Brainfuck, 372 Byte
(Saya tahu. Tetapi hanya untuk kelengkapan, harus ada brainfuck ^^ Itu tidak akan menjadi lebih pendek, karena ada pengulangan kecil. Lini pertama dan kedua sudah ...)
Penerjemah di sini: http://koti.mbnet.fi/villes/php/bf.php
Menggabungkan penghasil angka @ ASKASK dan gambar dengan loop saya dan beberapa penyetelan tambahan, kita dapatkan:
Brainfuck,
343 339 336334 BytesTerlihat lebih jelek dari versi asli saya.
(gambar lihat Jawaban ASKASK)
sumber
EcmaScript 6,
172161Keluaran:
Penjelasan:
sumber
return
pernyataan tidak diperlukan.charCodeAt(0)
dapat dikurangi menjadicharCodeAt()
.Sclipting , 38 karakter (76 bytes)
Keluaran:
sumber
Brainfuck, 362 byte
Maaf @ johannes-h, saya melihat milik Anda dan terinspirasi untuk membuatnya sendiri. Ini menggunakan kombinasi generasi nomor lebih cepat di awal dan gambar yang lebih sederhana untuk menghasilkan hasilnya dalam lebih sedikit byte. Namun ia tidak menggunakan loop di tempat lain sehingga itu untuk optimasi.
yang menghasilkan:
sumber
ImageMagick + sed, 71 byte
Saya tidak melihat entri ImageMagick lainnya, jadi inilah taruhan terakhir saya:
Saya pikir
sed
porsinya mungkin bisa golf lagi.Cobalah online .
Keluaran:
sumber
Catatan tambahan,
154133yaitu
Satu-satunya sumber ASCII, inspirasi untuk seni ASCII adalah jawaban Johannes H. :-)
(lebih mudah dibaca di terminal)
Perl, 102
Output yang sama seperti di atas. Saya tahu saya kehilangan kedua jawaban Perl di atas, tetapi saya tetap menerbitkannya. Setidaknya saya mencoba dan bergerak ke arah yang benar (dan belum melihat jawaban terpendek) :-).
sumber
Pure Bash, tanpa utilitas eksternal - 133 karakter:
Gunakan shift kanan dan kiri (bagi dan gandakan dengan 2) dan xor untuk menemukan bit yang satu.
Data font yang dicuri dari Blender / Ilmari Karonen.
Diuji dalam Bash 3.2 dan 4.2
Omong-omong, ini hanya 166 karakter:
sumber
Python 3, 114
Output ( e - W tinggi 4 karakter yang dicuri dari @Ilmari Karonen ):
Dan yang lebih pendek (107):
Keluaran:
sumber
Python 154 Karakter, (Ukuran Char 5X7)
Keluaran
sumber
Pesta:
(
10389 Bytes)Kode:
Keluaran:
Lebih kecil, tetapi kurang mudah dibaca (Berdasarkan http://mckgyver.pbworks.com/f/1240440791/3PixelFont.jpg ):
Kode:
Keluaran:
sumber
Javascript / ES6 (108 byte)
Salin ke konsol:
Keluaran:
(Membutuhkan browser yang kompatibel dengan ECMAScript6 mis. Firefox 22+)
Terinspirasi oleh @maximeeuziere, @ p01, @aemkei
sumber
.join('\n')
dapat direduksi ke.join(` `)
tempat spasi adalah karakter baris baru yang sebenarnya.Penulis: xem, aemkei, p01, jonas
Jalankan ini di konsol JS.
JavaScript, lintas-browser,
133132126117 byteJavaScript, ES6, berfungsi di Firefox, 108 byte
Hasil:
sumber
HTML, 209 karakter
Apakah ini masuk hitungan? :)
sumber
Shell, 20 karakter:
Agar ini berfungsi, tentu saja Anda membutuhkan
banner
program. Di Debian, Anda bisa mendapatkannya dengan menginstalbsdmainutils
paket.Ini mencetak versi pesan Anda yang dibuat dengan indah, dirancang untuk dicetak pada salah satu printer umpan terus-menerus lama, sehingga output teks di atas adalah 322 panjang dengan lebar 123 kolom, dan Anda membalikkan cetakan di sisinya untuk membaca pesan. Anda bisa menggantungkan kertas yang dihasilkan di dinding sebagai spanduk, karena itu namanya.
http://en.wikipedia.org/wiki/Banner_%28Unix%29
EDIT: Sepertinya Debian juga memiliki
sysvbanner
paket, yang memasang program banner yang mencetak teks secara horizontal untuk ditampilkan pada terminal. Namun, ini hanya mencetak 10 karakter pertama dari pesan, jadi agak menjengkelkan untuk masalah kode-golf ini!sumber
banner hello-world
.banner
tersedia untuk hampir setiap UNIX. Saya hanya meletakkan paket Debian sebagai bukti yang mudah bahwa saya tidak hanya mengada-ada, bagi orang-orang yang tidak mengetahuinya. Hari-hari ini saya tidak akan berharap untuk menemukanbanner
diinstal secara default pada UNIX, lebih dari yang saya harapkan untuk menemukan printer feed terus menerus di laboratorium komputer lagi. Tetapi setiap kode golf untuk membuat teks spanduk benar-benar harus memilikibanner
program di suatu tempat. Itu bagian dari sejarah budaya kita yang kaya sebagai ahli komputer. :-)bash,
175170 byteAnda perlu membuang beberapa karakter untuk menghasilkan output yang cantik !
Keluaran:
sumber
F # - 204 karakter
Keluaran:
sumber
Python + pyfiglet - 87 karakter
Keluaran
Untuk menginstal
pyfiglet
, jalankan:sumber
Python dengan pyfiglet: 66 menggunakan argv, 69 tanpa
66:
69:
pertama harus disebut sebagai, misalnya:
python asciiart.py 'Hello-World!'
kedua:
python asciiart.py
Keluaran:
(Yah, itu terlihat agak jelek dengan font ini. Meskipun demikian :))
[sunting] menghapus tanda hubung usang dari argumen.
sumber
Javascript 137 (134)
Menggunakan bit integer untuk merepresentasikan benda tajam dan spasi putih. Diuji dengan Firefox 27.
137 karakter
134 karakter (diputar 180 °)
sumber
Python3 (126)
Ada ruang tambahan di antara karakter untuk membuatnya lebih mudah dibaca. Jadi secara teknis itu solusi 125 karakter.
Keluaran:
sumber
Bash
37, 33Yang sama dengan:
Dari
man toilet
Dengan
tr "'\"m" "#"
semua"
karakter diganti dengan#
.sumber
tr
Parameter akan lebih pendek dari yang dikutip. Maksudku,tr \'\"m \#
bukannyatr "'\"m" "#"
.toilet
Output tidak kutip tunggal. Mengapa Anda memasukkannya ke dalamtr
parameter 1? Cukuptr \"m \#
sudah.Smalltalk, 151
meskipun permainan golf ini sudah berakhir, untuk referensi:
keluaran:
sumber