Нарисуйте форму сердца


34

Вызов

Нарисуйте форму сердца

введите описание изображения здесь

... как искусство ASCII!

Ваше искусство не должно выглядеть точно так же, как мое, но оно должно выглядеть как форма сердца.

Внутренняя часть сердца должна содержать слова «Любовь» как минимум 20 раз

правила

  • Программа должна записать картинку на консоль.
  • Самый короткий код (в байтах, на любом языке) выигрывает.

Победитель будет выбран 14 февраля в День Святого Валентина


2
Мне нравится это контекстно-специфическое направление ascii-art . :)
Адам Марас

3
Чтобы быть честным, я думаю, вы должны дать более ограничительное определение результата.
Говард

3
Я жду, когда кто-нибудь представит биологически правильное сердце. Тот, кто делает это, немедленно получает +1 от меня.
Джо

2
@JoeStead Ваши представления о романтических атрибутах Дня святого Валентина выглядят подозрительно:D
VisioN

3
Это было бы намного лучше, какpopularity-contest
SztupY

Ответы:


53

JavaScript [160 байт]

Следующий код выглядит как 160-байтовый неформатированный.

   ('l2v2l6v2'+  'e1l1v3l2'+
 'v3e1v7e1v7e1v7e1l2v6e1l4v5'+
'e1l6v4e1l8v3e1l7l3v2e1l9l3v1')
 .replace(/[lve]\d/g,function
   (c){return Array(-~c[1]).
      join({l:' ',v:'Love'
         ,e:'\n'}[c[0
             ]])})

Просто запустите это в консоли браузера (например, в Firebug или Chrome Dev Tools).


2
Переход /[lve]\d/на /../массив и использование массива ['','Love','\n']вместо объекта сэкономит еще 10 байтов, что в итоге приведет к 150 байтам , но сердце источника больше не будет иметь такую ​​хорошую форму:)
VisioN

3
!!!Отличная работа!!!
SpYk3HH

1
Использование жирной стрелки позволяет сэкономить много байтов. Заменить function(c){returnна c=>и удалить }. Вы должны опубликовать более короткую версию!
Флоран

2
№ EcmaScript 6.
Флоран

1
@ Флорент Ах! Насколько я знаю, ECMAScript 6 все еще экспериментален, и, к сожалению, все еще очень трудно проверить, как он работает. Предположим, мой код совместим с ECMAScript 5, :)но спасибо за указание! Я надеюсь, что скоро JavaScript будет конкурировать с Perl и Python в вопросах игры в гольф, и каждый сможет попробовать это.
VisioN

27

GolfScript: 62 57 54 персонажа

4 1.5\.5,+{.5\-\2*\0.}/]4/{[32'LOVE']2*]zip{(*}%''+}%~

Выход:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

Или, для некоторой добавленной любви, и обязательного злоупотребления незначительным пробелом (для 84 символов):

    5 1       .8\
  .)...5   ,{.5\-\3
 *\0.}/]4 /{[32[9829
  :x.'LOVE'\]''+]2
    *[@;]zip{(*}%
     ''+}%~' '15
        *x[]+
          +

Выход:

     ♥LOVE♥        ♥LOVE♥
  ♥LOVE♥♥LOVE♥  ♥LOVE♥♥LOVE♥
♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥
   ♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥
      ♥LOVE♥♥LOVE♥♥LOVE♥
         ♥LOVE♥♥LOVE♥
            ♥LOVE♥
               ♥

16

C - 183 байта

Не победитель, а целая лототская любовь. Вы можете понять, как это работает?

#include <stdio.h>
#define C(a) ((a)*(a)*(a))
int main(){int x,y;for(y=9;y>-6;y--){for(x=-8;x<9;x++)putchar(C(x*x+y*y-25)<25*x*x*y*y*y?"LOVE"[(x+10)%4]:'-');putchar('\n');}return 0;}

Выход:

-----------------
--LOVE-----OVEL--
-ELOVEL---LOVELO-
-ELOVELO-ELOVELO-
-ELOVELO-ELOVELO-
-ELOVELOVELOVELO-
--LOVELOVELOVEL--
--LOVELOVELOVEL--
---OVELOVELOVE---
----VELOVELOV----
----VELOVELOV----
------LOVEL------
-------OVE-------
--------V--------
-----------------

6
Хорошая работа Vна дне.
luser droog

1
Хорошее использование кривой сердца! Вы все еще можете сохранить пару символов и перейти к 153 (я также немного изменил вывод за счет одного добавленного байта): ideone.com/ELnkEE
reima

Очень круто. Я никогда не умел ДЕЙСТВИТЕЛЬНО сжимать байты. Вы должны опубликовать его как свой собственный C! Кривая сердца является общественным достоянием :)

15

Python, 210 символов

Конечно, это не победит, потому что это кодовый гольф, но я хотел быть креативным, и у меня есть не использовал это слово Loveв своем исходном коде:

import gzip
print(gzip.decompress(b'\x1f\x8b\x08\x00\x95\x10\xe0R\x02\xffSPP\xf0\xc9/KU\x80\x03\x10\x8f\x0bB\xa1c.l\x82dJ\xe0\xb0\x01\xe6\x02\x0cATa.T\xf7\x02\x00\xd9\x91g\x05\xc5\x00\x00\x00').decode('ascii'))

Это вывод:

   Love          Love
  LoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
      LoveLoveLove
          Love

Мне нравится ваш подход ^ _ ^
Навин

1
Использование gzip не очень креативно ...
nyuszika7h

15

Scala - 273 персонажа

Ну, я, конечно, не рассчитываю на победу для краткости, но я хотел посмотреть, смогу ли я сделать это в Scala. Более умный игрок в гольф может, вероятно, сбрить несколько байтов, но вот что я получил:

type D=Double;def w(x:D,y:D,a:D)={val(i,j)=(x-a,y-8);Math.sqrt(i*i+j*j)< 8};val l:Stream[Char]="love".toStream#:::l;val c=l.toIterator;def p(b:Boolean)=print(if(b)c.next else' ');for(y<-0 to 24){for(x<-0 to 32){if(y>7)p((16-x).abs< 24-y)else p(w(x,y,8)|w(x,y,24))};println}

Или, если вы предпочитаете (все еще действительный код!)

  type D=      Double 
def w(x:D,    y:D,a:D)=
{val(i,j)=   (x-a,y -8);
Math.sqrt(i* i+j*j)< 8};
val l : Stream [Char] =
"love".toStream#:::l;val
 c= l .toIterator;def p
  (b:Boolean) =print(if
   (b)c.next else' ');
    for (y <-0 to 24) 
     { for (x<- 0 to
      32){if(y >7)
        p((16-x).
          abs < 
          24-y)
         else
        p(w
       (x,
       y,
      8
      )
      |
      w(
       x,
         y,
           24)
              )}
                 println}

Выводит на экран два полукруга и треугольник, образуя приличное факсимиле сердца.Изображение вывода heart.scala

Требуется запустить с интерпретатором scala (компиляция потребует добавления дополнительных усилий, object Main { def main(args: Array[String]) = { ... } }и я просто не хочу ничего из этого.


2
@epidemian Я, наверное, мог бы сделать так, чтобы это выглядело как нормальное сердце, но я неправильно оценил размер кода и был слишком ленив. Так что вместо этого я сделал хвост. Мне нравится делать вид, что это воздушный шар: p
KChaloux

12

Питон 2, 117

печатает ровно 20 loveс по горизонтали.

x="love";print"   x    x\nx xx x\nx   x   x".replace("x",x)
for i in range(5):print" "*i+x+" "*(9-i*2),x
print" "*6,x

выход:

   love    love
love lovelove love
love   love   love
love          love
 love        love
  love      love
   love    love
    love  love
       love

Избавьте некоторые символы от: используйте один буквенный заполнитель в строке 2-й строки, затем replace()их; в 3-й строке printпоменяйте один +на ,10 и на 9; в последней строке используйте значение переменной x. pastebin.com/i1TSEZfE
manatwork

@manatwork Спасибо. Отредактировал тело теперь до 121 символа :-)
Wasi

Считаете ли вы три вертикальные loves на правой стороне, которые вы получили, пошатываясь горизонтальные loves?
Джошуа Тейлор

@JoshuaTaylor Спасибо, я не заметил этих вертикалей love. Включая тех, loveколичество будет 23: D
Васи

11

Perl - 36 байт

  open    0;s
/\S.?/Lo.ve
  /ge,print
    , , for
        <0>

Выход:

  LoveLove    LoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
        LoveLove

Это немного обмануть; он будет печатать Loveодин раз для каждых двух непробельных символов в исходном коде. При наличии необходимого пробела для создания формы сердца код имеет длину 61 байт: сглаженный - всего 36 байт:

open 0;s/\S.?/Lo.ve/ge,print,,for<0>

Perl - 60 байт

print$"x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g

Выводит следующее:

   Love        Love
 Love Love  Love Love
Love     Love     Love
Love              Love
 Love            Love
  Love          Love
    Love      Love
      Love  Love
         Love

Ровно 20 Love.


Краткое объяснение
по запросу

  • for'3h112a05e0n1l2j4f6b9'=~/./g
    Это изменяет оператор печати и выполняет итерацию по каждому символу. /./Очевидно, что регулярное выражение соответствует одному символу, и в контексте списка /./gвернет список всех символов в строке. Более распространенный, но немного более длинный способ написать это было бы for split//,'3h112a05e0n1l2j4f6b9'.
  • print$"x(15&ord),Love,$/x/\D/
    Специальной переменной по $"умолчанию является пробел. Ord Инал значение каждого символа мода 16 хранит количество пробелов , необходимых между каждым с Loveпомощью строки повторения ( x). Наконец, если символ не является цифрой ( /\D/), значение $/, которое по умолчанию "\n"устанавливается в конец.

ваша вторая программа выдает ошибку: «синтаксическая ошибка в строке -e 1, рядом с / / D / for3h112a05e0n1l2j4f6b9» (попытка вызова из командной строки с использованием -e)
Томас

Из командной строки вам нужно будет заменить $"на ' ':perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
primo

ОК, хороший трюк!
Томас

36-байтовая версия на самом деле не печатает требуемый вывод
Tobia

1
@ simbabque сделано.
Примо

6

Wolfram Language (Mathematica) - 111

i=0;MatrixForm@Table[If[(x^2+y^2-200)^3+10x^2y^3<0,{"L","O","V","E"}[[i++~Mod~4+1]],""],{y,-20,20},{x,-20,20}]

введите описание изображения здесь


5

Javascript - 147 141 137 133 символов

with(Math){s="";for(k=800;k--;)
x=abs(1.25-k%40/16),y=k/320-1.25,
s+=.75>x+abs(y)|.5>sqrt(x*x-x+y*y-y+.5)
?"Love"[k%4]:39==k%40?"\n":" "}s

Примечание: я отправил другой ответ, но этот использует другой подход, и сердце имеет другую форму.

Как это работает :

введите описание изображения здесь

Сначала я рисую ромб (уравнение есть |x|+|y|), затем объединяю два круга сверху. значения x отражаются (поэтому нужен только один круг).


1
Вы можете сократить свой код, удалив числа с 0плавающей запятой и присвоив Math.absпеременную.
Флоран

Также вы можете удалить две бесполезные точки с запятой с конца, чтобы сохранить еще пару байтов.
VisioN

4

Скриптинг - 28 символов / 56 байт

겤뙡늆굚넰밌各긂밀❷거雙復냄뭖끐❸갰右거雙復겠⓸걠右復終

Выход:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

(Или 24 символами: 긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終- но здесь используется инструкция, которую я добавил после
публикации этого задания

Это 84 байта.
tobyink

Нет, это 56 байт как UTF-16.
Тимви

@Timwi для меня это размер 58 байт. Странный.
Прим

@primo: это 56 байтов. Если вы сохранили его как «Unicode» в Windows Notepad, вы получите 58-байтовый файл, который состоит из спецификации UTF-16 (2 байта) плюс 56-байтовая программа.
Тимви

4

JavaScript - 136 121 115 113 символов

s="";for(k=800;k--;)
x=1.25-k%40/16,y=k/320-1.25,
s+=Math.pow(x*x+y*y-1,3)<x*x*y*y*y
?"Love"[k%4]:39==k%40?"\n":" ";s

Для запуска: скопируйте вставить в консоль браузера (например: Chrome или Firefox)


["L","o","v","e"] => "Love"сэкономит 11 байт.
VisioN

Исправлена ​​:). Спасибо за предложение.
Tigrou

3

C 116 символов

(Я не знаю, достаточно ли это в форме сердца ... заполняет внутреннюю часть трех кругов, чтобы получить результат.)

i = 192, x, y;
main(t) {
  for (; i--; putchar(i % 16? y : 10))
    y = i / 16 - 8,
    x = i % 16 - 8,
    t = x*x + y*y,
    y = " Levo"[ (t < 64 & y < 0 | t < 8*abs(x)) * (i % 4 + 1) ];
}

Выход:

 veLov   veLov 
oveLove oveLove
oveLove oveLove
oveLove oveLove
oveLoveLoveLove
oveLoveLoveLove
oveLoveLoveLove
 veLoveLoveLov 
 veLoveLoveLov 
  eLoveLoveLo  
    oveLove    

Ранее в процессе игры в гольф, перед заменой постоянных выражений (измените, Mчтобы настроить размер):

#define M 4

i = 3*M * 4*M, x, y;
main(t) {
  for (; i--; putchar(i % (4*M)? x : '\n')) {
    y = i / (4*M) - 2*M, x = i % (4*M) - 2*M,
    t = x*x + y*y, x = " Levo"[ (t < 4*M*M & y < 0 | t < abs(2*M*x)) * (1 + i % 4) ];
  }
}

Я также чувствовал себя обязанным сделать это. :П

#define F for
#define M main

 /*##     ####
####*/i  =192,x
,y;M(t) {F(;i--
;putchar(i %16?
y:10))y=i/16-8,
x=i%16-8,t=x*x+
y*y,y=" Levo"[(
 t<64&y<0|t<8*
  abs(x))*(i%
    4+1)];}

Какие мистические опции / компилятор вы должны использовать для его компиляции? All variables in C are typed en.wikibooks.org/wiki/C_Programming/Variables
Micka

1
Глобальные переменные @Micka неявно объявляются как intустаревшая функция, заимствованная из pre-ANSI-C. Это прекрасно скомпилируется для меня с clang foo.cили gcc -std=c99 foo.c(хотя, с большим количеством предупреждений). Вы получаете какие-либо ошибки? Я не знаю C достаточно хорошо, чтобы гарантировать, что я не зависим от неопределенного поведения, но я полагаю, что я не делаю этого.
FireFly

1
Хм, очевидно, это не санкционировано ни одним из стандартов - я думал, что это было законно, по крайней мере, в C90, но, увы, это не так. Так что это просто наследие, оставшееся от pre-ANSI-C, которое большинство компиляторов в любом случае поддерживают (см. [Эту сноску] ( en.wikipedia.org/wiki/… на википедии, например)
FireFly

3

Ruby, 47, или Golfscript, 41

Скучный ответ.

puts" Love  Love
"+"LoveLoveLove
"*6+"    Love"

Версия для гольфа:

" Love  Love
""LoveLoveLove
"6*"    Love"

Выход:

 Love  Love
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
    Love

32
Lol, какое уродливое сердце! : D
Аббас

3

Рубин - 113 персонажей

l=->a,b=28,c=1{puts (("Love"*a).center(b))*c};l.call(2,14,2);l.call(3,14,2);[7,7,7,6,5,4,3,2,1].map{|x|l.call(x)}

Выход:

1.9.3p448 :811 > l=->a,b=28,c=1{puts (("Love"*a).center(b))*c};l.call(2,14,2);l.call(3,14,2);[7,7,7,6,5,4,3,2,1].map{|x|l.call(x)}
   LoveLove      LoveLove   
 LoveLoveLove  LoveLoveLove 
LoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLoveLove  
    LoveLoveLoveLoveLove    
      LoveLoveLoveLove      
        LoveLoveLove        
          LoveLove          
            Love            

Чтобы быть более ясным

введите описание изображения здесь


3

Perl - 159 символов

Не массово в гольф ...

printf"%-14s%14s\n",$_,~~reverse for map{($.,$i,$c)=split',';($"x$i).($.x$c)}qw(L,5,3 o,3,8 v,1,11 e,0,13 L,1,13 o,3,11 v,5,9 e,7,7 L,8,6 o,10,4 v,12,2 e,13,1)

Вот то же самое с добавленным пробелом для немного лучшей читаемости ...

printf "%-14s%14s\n", $_, ~~reverse
   for map {
      ($.,$i,$c) = split',';
      ($"x$i).($.x$c)
   } qw(
      L,5,3
      o,3,8
      v,1,11
      e,0,13
      L,1,13
      o,3,11
      v,5,9
      e,7,7
      L,8,6
      o,10,4
      v,12,2
      e,13,1
   )

Вывод ...

     LLL            LLL     
   oooooooo      oooooooo   
 vvvvvvvvvvv    vvvvvvvvvvv 
eeeeeeeeeeeee  eeeeeeeeeeeee
 LLLLLLLLLLLLLLLLLLLLLLLLLL 
   oooooooooooooooooooooo   
     vvvvvvvvvvvvvvvvvv     
       eeeeeeeeeeeeee       
        LLLLLLLLLLLL        
          oooooooo          
            vvvv            
             ee             

Полное слово «Любовь» содержится в (по вертикали) 22 раза, плюс многочисленные частичные.


+1 за креативность. Я бы не подумал сделать это вертикально.
Эндрю Гис

3

APL, 36 символов / байт *

7 16⍴∊'  ' 'Love'[20400948744⊤⍨36/2]

Должен оцениваться с помощью ⎕IO←0(значение по умолчанию зависит от реализации)

* APL может быть записан в однобайтовой кодировке, если необходимо (при условии, что вы не используете какой-либо другой символ Unicode), так что N chars = N байтов для подсчета.

Выход:

Содержит ровно 20 "Любовь"

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

2

Extended BrainFuck : 193 (считается без существенных пробелов)

    {h]<[<]<        [<}>>-->
-3>->-3>+9>+9>+>-7>+>->-5>+>->->
-3>+>+>>4->->6+>5+>>4+[-<4+>]<[-
<4+<5+<5+<5+4>&h++]>[-[-[<10+.[-]
    >-[[-]3<[-]]>[<4+3<[[->>
    +<<]<]]]>[[>]>[.>&h]<<++
        >]]>[<<4+[->8+<]
        >....[-]<<+>>]>]

Превращается в:

Brainfuck: 264 (считается без существенных пробелов)

    >>-->->>        >->->>>+
    >>>>>>>>        >+>>>>>>
>>>+>->>>>>>>+>->->>>>>+>->->->>>
+>+>>---->->++++++>+++++>>++++[-<
++++>]<[-<++++<+++++<+++++<+++++>
>>>]<[<]<[<++]>[-[-[<++++++++++.[
    -]>-[[-]<<<[-]]>[<++++<<<
    [[->>+<<]<]]]>[[>]>[.>]<[
        <]<[<]<<++>]]>[<<
        ++++[->++++++++<]
            >....[-]<
             <+>>]>]

Вы запускаете его с любым интерпретатором bf. У Ubuntu есть bfи то beefи другое прекрасно работает.

bf heart.bf

Выход (344 байта):

    LOVELOVE        LOVELOVE
    LOVELOVE        LOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
    LOVELOVELOVELOVELOVELOVE
    LOVELOVELOVELOVELOVELOVE
        LOVELOVELOVELOVE
        LOVELOVELOVELOVE
            LOVELOVE
            LOVELOVE

Ungolfed EBF код:

>>--> ; mark

;; ##  ##@   
;;########@
;;########@
;; ######@
;;  ####@
;;   ##@
;; the block below is the art above 
;; where space is replaced with ->
;; # with > and @ with +>
->>>->->>>+>
>>>>>>>>+>
>>>>>>>>+>
->>>>>>>+>
->->>>>>+>
->->->>>+>+>

;; we store the string LOVE after a blank
>
~"LOVE"<[<]<
[<++] ;; add 2 to every cell until mark

;; Variables
:new
:zero
:in
:next

@zero
$in(
  -[ ; 1
     -[ ; 2
        $zero 10+.[-]
        $in-[#[-]$new<[-] @in] ; its second round lf
        $next[#$in++++$new<[[->>+<<]<]]@new     ; 2   
      ]
      >[[>]>[.>]<[<]<[<]<<++>   ]@new
  ]>[@next $zero 4+(-$in 8+) $in.... (-) $new+ $in]@zero
)

2

C # 224

class P{static void Main(){for(int i=0,m=1;i<30;i++)for(int l=0;l<new[]{5,6,7,6,8,10,3,10,4,13,1,13,1,87,1,27,4,23,7,20,11,16,16,11,20,7,24,3,27,1}[i];l++,m++)System.Console.Write((i%2>0?"love"[m%4]:' ')+(m%29>0?"":"\n"));}}

отформатирован:

class P
{
    static void Main()
    {
        for (int i = 0, m = 1; i < 30; i++)
            for (int l = 0; l < new[] { 5, 6, 7, 6, 8, 10, 3, 10, 4, 13, 1, 13, 1, 87, 1, 27, 4, 23, 7, 20, 11, 16, 16, 11, 20, 7, 24, 3, 27, 1 }[i]; l++, m++)
                System.Console.Write((i % 2 > 0 ? "love"[m % 4] : ' ') + (m % 29 > 0 ? "" : "\n"));
    }
}

Выход:

     velove       elovel
   ovelovelov   velovelove
 lovelovelovel velovelovelov
lovelovelovelovelovelovelovel
ovelovelovelovelovelovelovelo
velovelovelovelovelovelovelov
 lovelovelovelovelovelovelov
   elovelovelovelovelovelo
    ovelovelovelovelovel
      lovelovelovelove
         lovelovelov
           elovelo
             vel
              l

2

Python, 334 байта

x = "love"
print("\t  love\t      love")
print("\t"+str(x*2)+"    "+str(x*2))
print("      "+str(x*6))
print(str(" "*5)+str(x*6)+"lo")
print(str(" "*5)+str(x*6)+"lo")
print("      "+str(x*6))
print("\t"+str(x*5))
print("\t"+str(" "*2)+str(x*4)+"l")
print("\t"+str(" "*4)+str(x*3)+"l")
print("\t"+str(" "*7)+str(x*2))
print("\t"+str(" "*10)+"v")

выход:

введите описание изображения здесь


1
Добро пожаловать в PPCG. Это код гольфа, поэтому, пожалуйста, укажите количество байтов кода в ответе. Пожалуйста, также укажите, что это за язык.
Мартин Эндер

@ MartinBüttner на каком языке ты имел ввиду? а это 334 байта
Yanti

1
Язык программирования, на котором вы написали этот код.
Мартин Эндер,

Я знаю ! Это Питон! Да, и вы можете удалить strвызов с повторением строки, потому что *имеет более высокий приоритет, чем +.
TuxCrafting

На самом деле этот код имеет длину 682 байта.
TuxCrafting

1

Perl - 97 символов

Этот ответ основан на 121-символьном решении Python от @ Wasi.

$.=love;say"   $.    $.$/$. $.$. $.$/$.   $.   $.";say$"x$_,$.,$"x(9-$_*2),$.for 0..4;say$"x 6,$.

Вам нужно запустить perl с -M5.010возможностью включения специфичных для 5.10 функций. Это, по-видимому, разрешено .

Интересные особенности:

  • Я использую переменную $.для хранения слова «любовь». Это потому, что за ним может сразу же следовать другое слово, если это необходимо. $.forоднозначно обозначен как $.сопровождаемый for; $_forне будет маркироваться, как $_следует, forпотому что $_forсамо по себе является допустимым именем переменной.
  • $"вместо встроенного в строку используется встроенная переменная, представляющая тот символ, к которому будут присоединены массивы (по умолчанию используется один пробел) " " сохранения одного символа здесь и там.
  • Строковая интерполяция Perl побеждает питона .replace метод в гольфе кода.
  • в Perl for 0..4 же побеждаетfor i in range(5)

1

CJam - 33 байта

19285703234336595Zb["Love"SS+N]f=

Попробуйте онлайн

Выход:

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

Объяснение:

19285703234336595    number that contains the pattern as base-3 digits
Zb                   converts to base 3 (Z=3)
["Love"SS+N]         creates an array containing "Love", "  " and a newline
f=                   replaces the base-3 digits with the corresponding strings
                     (0 -> "Love", 1 -> "  ", 2 -> newline)

0

Баш, 170 байт

полностью копия программы FoxX's :)

echo '\x1f\x8b\x08\x00\x95\x10\xe0R\x02\xffSPP\xf0\xc9/KU\x80\x03\x10\x8f\x0bB\xa1c.l\x82dJ\xe0\xb0\x01\xe6\x02\x0cATa.T\xf7\x02\x00\xd9\x91g\x05\xc5\x00\x00\x00'|gunzip
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.