Tantangan
Gambarlah bentuk Hati
... sebagai seni ASCII!
Seni Anda tidak harus persis seperti milik saya, tetapi harus terlihat seperti Bentuk Hati.
Bagian dalam hati harus mengandung kata-kata "Cinta" setidaknya 20 kali
Aturan
- Program harus menulis karya seni ke konsol.
- Kode terpendek (dalam byte, bahasa apa pun) menang.
Pemenang akan dipilih pada 14 Februari di Hari Kasih Sayang
:D
popularity-contest
Jawaban:
JavaScript [160 byte]
Kode berikut tampaknya tidak diformat 160 byte .
Cukup jalankan ini di konsol browser (mis. Di Firebug atau Chrome Dev Tools).
sumber
/[lve]\d/
ke/../
dan menggunakan berbagai['','Love','\n']
bukannya objek akan menghemat lain 10 byte yang mengarah ke 150 byte secara total, tapi hati sumber tidak akan yang baik berbentuk lagi:)
function(c){return
olehc=>
dan hapus}
. Anda harus memposting versi yang lebih pendek!:)
Tetapi terima kasih telah menunjukkan! Saya harap segera JavaScript akan bersaing dengan Perl dan Python dalam masalah golf dan semua orang akan dapat mencobanya.GolfScript:
625754 karakterKeluaran:
Atau, untuk beberapa cinta tambahan, dan penyalahgunaan wajib spasi putih tidak penting (untuk 84 karakter):
Keluaran:
sumber
C - 183 byte
Bukan pemenang, tapi cinta lotta keseluruhan. Bisakah Anda mengetahui cara kerjanya?
Keluaran:
sumber
V
di bagian bawah.C
! Kurva jantung adalah domain publik :)Python, 210 karakter
Tentu saja, ini tidak akan menang karena ini adalah kode golf, tetapi saya ingin menjadi kreatif dan saya belum menggunakan kata itu
Love
dalam kode sumber saya:Ini adalah output:
sumber
Scala - 273 Karakter
Yah, saya tentu tidak berharap menang untuk singkatnya, tetapi saya ingin melihat apakah saya bisa melakukannya di Scala. Seorang pegolf yang lebih pintar mungkin bisa mencukur beberapa byte, tetapi inilah yang saya dapat:
Atau, jika Anda lebih suka (kode masih valid!)
Mencetak dua setengah lingkaran dan segitiga ke layar, membuat faksimili yang lumayan bagus.
Perlu dijalankan dengan scala interpreter (kompilasi akan membutuhkan penambahan beberapa tambahan untuk
object Main { def main(args: Array[String]) = { ... } }
dan saya hanya belum memilikinya.sumber
Python 2, 117
mencetak tepat 20
love
detik secara horizontal.keluaran:
sumber
replace()
; pada baris ke-3print
ubahlah satu+
ke,
dan 10 dengan 9; pada baris terakhir gunakan nilai variabel x. pastebin.com/i1TSEZfElove
s vertikal di sisi kanan yang Anda dapatkan dengan menggoncangkan garis horizontallove
?love
itu. Termasuk yanglove
dihitung adalah 23: DPerl - 36 byte
Keluaran:
Ini sedikit curang; itu akan mencetak
Love
satu kali untuk setiap dua karakter spasi non-putih dalam kode sumber. Dengan spasi yang dibutuhkan untuk membuat bentuk hati, kodenya panjangnya 61 byte: rata hanya 36 byte:Perl - 60 byte
Output sebagai berikut:
Tepat 20
Love
.Penjelasan Singkat
berdasarkan permintaan
for'3h112a05e0n1l2j4f6b9'=~/./g
Ini mengubah pernyataan cetak, dan mengulangi setiap karakter. Regex
/./
jelas cocok dengan satu karakter, dan dalam konteks daftar/./g
akan mengembalikan daftar semua karakter dalam string. Cara yang lebih umum, tetapi sedikit lebih lama untuk menulis ini adalahfor split//,'3h112a05e0n1l2j4f6b9'
.print$"x(15&ord),Love,$/x/\D/
Variabel khusus
$"
default ke spasi. Nilai ord dari masing-masing karakter mod 16 menyimpan ruang angka yang dibutuhkan antara masing-masingLove
melalui pengulangan string (x
). Akhirnya, jika karakter bukan digit (/\D/
), nilai$/
, yang defaultnya"\n"
ditempelkan di akhir.sumber
-e
)$"
dengan' '
:perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
Bahasa Wolfram (Mathematica) - 111
sumber
Javascript -
147141137133 karakterCatatan: Saya mengirim jawaban lain, tetapi yang ini menggunakan pendekatan yang berbeda dan hati memiliki bentuk yang berbeda.
Bagaimana itu bekerja :
Pertama, saya membuat berlian (persamaan
|x|+|y|
) lalu, saya menggabungkan dua lingkaran di atas. nilai x dicerminkan (jadi hanya satu lingkaran yang diperlukan).sumber
0
sebelum mengambang dan menetapkanMath.abs
ke variabel.Sclipting - 28 karakter / 56 byte
Keluaran:
sumber
긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終
- tetapi ini menggunakan啃
instruksi, yang saya tambahkan setelah tantangan ini diposting, sehingga tidak masuk hitungan.)JavaScript -
136121115113 charactersTo run : copy paste into browser console (eg : Chrome or Firefox)
sumber
["L","o","v","e"] => "Love"
akan menghemat 11 byte.C, 116 chars
(Saya tidak tahu apakah ini cukup berbentuk hati ... mengisi bagian dalam tiga lingkaran untuk menghasilkan output.)
Keluaran:
Sebelumnya dalam proses bermain golf, sebelum mengganti ekspresi konstan (ubah
M
untuk menyesuaikan ukuran):Saya juga merasa harus melakukan ini. : P
sumber
All variables in C are typed
en.wikibooks.org/wiki/C_Programming/Variablesint
, a legacy feature borrowed from pre-ANSI-C. It compiles just fine for me withclang foo.c
orgcc -std=c99 foo.c
(though, with plenty of warnings). Do you get any errors? I don't know C well enough to gurantee that I don't depend on undefined behaviour, but I believe I don't do that.Ruby, 47, or Golfscript, 41
Boring answer.
Golfscript version:
Output:
sumber
Ruby - 113 Characters
Output:
To be more clear
sumber
Perl - 159 characters
Not massively golfed...
Here's the same with added whitespace for slightly better readability...
Output is...
The complete word "Love" is contained within (vertically) 22 times, plus numerous partials.
sumber
APL, 36 karakter / byte *
Harus dievaluasi dengan
⎕IO←0
(standarnya bervariasi berdasarkan implementasi)* APL dapat ditulis dalam charset byte tunggal jika diperlukan (selama Anda tidak menggunakan karakter Unicode lainnya) sehingga N chars = N byte untuk tujuan penghitungan.
Keluaran:
Berisi persis 20 "Cinta"
sumber
Extended BrainFuck : 193 (dihitung tanpa spasi putih tidak penting)
Berubah menjadi:
Brainfuck: 264 (dihitung tanpa spasi putih tidak penting)
Anda menjalankannya dengan penerjemah bf apa pun. Ubuntu telah
bf
danbeef
dan keduanya berfungsi dengan baik.Output (344 bytes):
Kode EBF tidak dikumpulkan:
sumber
C # 224
Diformat:
Keluaran:
sumber
Python, 334 Bytes
keluaran:
sumber
str
panggilan dengan pengulangan string, karena*
memiliki prioritas lebih tinggi daripada+
.Perl - 97 karakter
Jawaban ini didasarkan pada solusi Python 121 karakter @ Wasi.
Anda perlu menjalankan perl dengan
-M5.010
opsi untuk mengaktifkan fitur spesifik 5,10. Ini tampaknya diizinkan .Fitur menarik:
$.
untuk menyimpan kata "cinta". Ini karena dapat segera diikuti dengan kata lain jika perlu.$.for
secara jelas$.
dipatuhi sebagai diikuti olehfor
;$_for
tidak akan dianggap sebagai$_
diikuti olehfor
karena$_for
itu sendiri adalah nama variabel hukum.$"
, variabel bawaan yang menunjukkan bahwa karakter yang array akan bergabung ketika diinterpolasi ke dalam string (dan default ke karakter spasi tunggal) digunakan sebagai ganti" "
untuk penghematan satu karakter di sana-sini..replace
metode python secara signifikan dalam kode golf.for 0..4
juga menangfor i in range(5)
sumber
CJam - 33 byte
Cobalah online
Keluaran:
Penjelasan:
sumber
Bash, 170 byte
benar-benar salinan dari programFOX :)
sumber