Tidak, bukan
^^vv<><>BA
jenis telur Paskah, telur Paskah asli yang kita lukis.
Ini telur (yang sudah ditarik).
__
/ \
/ \
| |
\____/
Di paskah, kita melukisnya dengan pola. Seperti ini:
__
/--\
/----\
|----|
\____/
__
/%%\
/%%%%\
|%%%%|
\____/
__
/~~\
/~~~~\
|~~~~|
\____/
Tantangan
Diberi karakter (cetak ascii) untuk mengecat telur, cetak telur yang dicat.
Contoh:
&:
__
/&&\
/&&&&\
|&&&&|
\____/
#:
__
/##\
/####\
|####|
\____/
Spesifikasi
- Trailing newlines / spasi diizinkan.
Jawaban:
Brain-Flak ,
270268266 + 1 = 267 byte+1 dari
-c
benderaCobalah online!
Saya akan menulis penjelasan, tetapi saya tidur siang dulu dan lupa bagaimana keseluruhan pemikiran ini bekerja. Dugaanmu sebaik milikku.
sumber
Python 2, 62 byte
Super lurus ke depan. Cobalah online .
-1 byte, terima kasih kepada @ mbomb007
sumber
Arang ,
302616 byteDua byte disimpan berkat @Neil dengan mengisi setelah membuat bentuk
Cobalah online!
Penjelasan
Program ini bekerja dengan terlebih dahulu membuat setengah bagian kanan telur, dan kemudian memantulkannya untuk menghasilkan setengah bagian kiri.
sumber
←_↘
bisa sama↓_
tetapi sebenarnya Anda dapat mengisi setelah Anda mencerminkan selama 16 byte:__↗¹←↑¹↖²↓_‖M←¤S
.¤
Jelly ,
2422 byteCobalah online!
Bagaimana?
sumber
ṃ
untuk penjelasan terpanjang satu byte.Sed, 43 karakter
Contoh dijalankan:
sumber
JavaScript (ES6),
534947 byteSaya yakin saya bisa memeras sedikit lebih banyak dari ini - harus melarikan diri
\
s mengganggu saya.s=c+c
penetapan variabel di dalam set pertama{}
.c+=c
alih-alihs=c+c
&s=s+s
, dengan sebagian berkat Neil yang melihat peningkatan ini pada saat yang sama ketika saya membuatnya.Cat Sendiri!
Tampilkan cuplikan kode
sumber
<pre><code>
s. Pekerjaan yang bagus.pre
.c+=c
?f=\n
porsi untuk jumlah byte. Hanya saja snippet berjalan.Alice ,
5352 byte, tidak bersaingTerima kasih kepada Leo karena secara tidak langsung menghemat 1 byte.
Cobalah online!
Sayangnya, saya harus memperbaiki bug dengan
y
(transliterasi) untuk membuat ini berfungsi, jadi saya menandainya sebagai non-bersaing.Penjelasan
Ide dasarnya adalah membuat string dari telur tetapi dengan
~
sebagai pengganti untuk dua salinan input. Namun, karakter lain dari input tidak terlalu ramah untuk string Alice, karena mereka tidak dapat mengandung linefeeds, dan semua/\_|
perlu melarikan diri (karena mereka diperlakukan sebagai cermin dan dinding). Jadi saya bisa menyimpan beberapa byte dengan menggunakan placeholder untuk ini juga, dan kemudian transliterasi. Placeholder untuk/\_|
yang.[^{
, yang hanya karakter yang tepat sebelum yang mereka wakili. Untuk linefeed yang saya gunakan}
.Sekarang kode ... seluruh program dapat diselesaikan dalam mode Ordinal karena kita hanya membutuhkan pemrosesan string dan tidak ada pemrosesan bilangan bulat. Selain itu, kita tidak memerlukan aliran kontrol bersyarat. Seluruh program dapat diekspresikan secara linear. Struktur umum dari program ini adalah ini:
Dalam program semacam itu, IP terpental ke atas dan ke bawah melalui
...
bagian, pertama hanya mengeksekusi setengah dari karakter. Kemudian keduanya/
pada akhirnya memindahkan IP tepat satu sel, sehingga dalam perjalanan kembali mengeksekusi setengah lainnya (sekali lagi memantul ke atas dan ke bawah) sampai akhirnya@
mengakhiri program. Jadi jika kita membuka struktur zigzag lucu di tengah, program yang kita jalankan benar-benar terlihat seperti ini:Mari kita lalui ini:
sumber
PowerShell ,
504948 byteCobalah online!
Penggantian string langsung menjadi string literal. Tidak banyak ruang untuk bermain golf.
-1 byte terima kasih kepada HyperNeutrino; -1 byte berkat wubs
sumber
Wortel , 34 byte, tidak bersaing
Non-bersaing karena saya baru saja memperbaiki bug dengan juru bahasa dalam memimpin spasi tidak ditampilkan.
Cobalah online sini .
Pertama, kita berada dalam mode caret, di mana setiap karakter didorong ke "tumpukan". Dan akhirnya "tumpukan" dicetak sebagai output.
Dalam caret-mode,
#
tekan input, sehingga instance#
pada dasarnya diganti dengan input (FYI#
adalah program cat satu byte).sumber
SOGL V0.12 ,
211816 byteCoba Di Sini!
Seluruh program dikompresi berikut ini:
di mana
ŗ
akan diganti dengan input.13 byte hampir berfungsi juga, tetapi melakukan hal-hal yang tidak dibutuhkan - dengan input tertentu ..
sumber
@,ŗ -@ŗ
05AB1E ,
343332 byteCobalah online!
Penjelasan
sumber
•jÀňiXƒÐ[Z•6B6ôvy5ÝJ"_ |/\"¹«‡,
untuk 32, sama sekali berbeda. Ini memalsukan saya dan membuat saya berpikir saya bisa menggunakan palindromize ... Sialan fakta itu())(
dan/\\/
adalah palindrom.Python 3.6 , 53 byte
x
dan mengembalikan string..format()
- the{}
terlampir dari f-string adalah kode untuk dievaluasi.Saya tidak bisa melihat juru bahasa online untuk Python 3.6.Cobalah di repl.it (mengatakan 3.5 tetapi 3.6)
sumber
Retina 0.8.2 ,
4341 byte-2 byte terima kasih kepada Kevin Cruijssen
Cobalah online!
sumber
Brainfuck -
257 byte181 byteGolfed: Versi langsung klik di sini
Saya bukan pegolf profesional. Ini adalah upaya saya sejauh yang saya ingat: D
Keluaran:
Tidak digabungkan (+ komentar):
sumber
05AB1E ,
322926 byte (Terima kasih kepada Emigna / Adnan)Cobalah online!
Versi 29 byte (lebih pintar tanpa iterasi diperlukan karena meng-encode baris baru juga):
05AB1E , 29 byte (Emigna)
Cobalah online 2!
Ekstensi 26 byte dari saran Emigna, menggunakan S untuk memisahkan karakter ke dalam array, kemudian [b] untuk menginterpolasi setiap digit dengan lokasi yang sesuai dalam array sebelumnya. Ini pada dasarnya adalah transliterasi elemen-bijaksana (pintar).
05AB1E , 26 byte (Adnan)
Cobalah secara online 3!
sumber
Sè
- licik licik ...Admigna
, tidak akan benar-benar tahu bahasa tanpa kedua contoh konstan Anda.PHP, 51 byte
PHP, 58 Bytes tanpa linebreak fisik
jalankan ini dengan
-R
opsi ini61 Bytes
sumber
-R
bukan parameter, itu opsi.man php
memanggil mereka parameter : "Juga dimungkinkan untuk memproses input standar baris demi baris menggunakan parameter -R atau -F."BF,
142140 byteIni dibagi menjadi dua garis untuk kejelasan; baris baru tidak dihitung.
Cukup mudah untuk menulis hal seperti ini di BF, tetapi tidak sepele bagaimana mengoptimalkan urutan sel untuk meminimalkan gerakan. Saya menulis naskah brute-forcer untuk mencoba semua kombinasi dan menemukan yang terpendek, dan saya bermain golf sedikit untuk menjelaskan peluang golf yang saya tidak termasuk dalam brute-forcer.
sumber
brainfuck , 114 byte
Cobalah online!
Saya telah menggunakan BF Crunch di sini untuk menemukan cara yang lebih optimal untuk menghasilkan karakter individu.
sumber
C (gcc) ,
958885 byteTerima kasih kepada Albert untuk -7 byte
Terima kasih juga untuk ceilingcat -3 byte
Cobalah online!
sumber
*q
sarangnya saja ke dalam for-loop Anda untuk menghemat 5 byte.char*s;f(c){for(s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
*s
di dalam argumen deklarasi for-loop:f(c){for(char*s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
1
ada49
di ASCII tapi itu 2 byte, gunakan sesuatu dengan nilai 0-9, misalnya karakter tabulasi `` adalah nilai ASCII9
.*s;f(c){for(s
alih-alihf(c){for(int*
SpecBAS - 70 byte
?
adalah singkatan untukPRINT
perintah, dan apostrof memindahkan kursor ke baris berikutnya.sumber
Röda , 46 byte
Cobalah online!
sumber
Python, 59 byte
sumber
Lua, 66 byte
((([[#Berhasil]])))
sumber
Retina , 41 byte
Cobalah online!
sumber
Japt , 35 byte
Cobalah online!
Solusi 41 byte:
Cobalah online!
sumber
d
byte lebih pendek.[R], 65 byte
Cukup tidak spektakuler, temukan yang lebih pendek di R ... Ini gsub dasar Anda
sumber
C ++ 208 byte
Menanggapi komentar: Ini adalah posting ulang lengkap.
sumber
C # , 56 byte
Golf
Tidak disatukan
Tidak terbaca dibaca
Kode lengkap
Rilis
56 bytes
- Solusi awal.Catatan
Hasil cetak dalam tautan yang disediakan tidak akan terlihat seperti pura-pura, karena font yang digunakan tidak menjadi monospace.
sumber
C (gcc) , 87 byte
printf tanpa stdio.h menyebabkan peringatan tetapi tidak ada kesalahan, yang memungkinkan kompilasi berhasil.
Penjelasan
Pernyataan printf yang meng-crams semuanya menjadi satu baris, memformat karakter dekorasi dengan% c.
Cobalah online
sumber
C (gcc) , 84 byte
Cobalah online!
sumber