ハート形を描く


34

チャレンジ

ハート形を描く

ここに画像の説明を入力してください

... ASCIIアートとして!

あなたのアートは私のもののように見える必要はありませんが、ハートの形に見える必要があります。

心の内側には「愛」という言葉が少なくとも20回含まれている必要があります

ルール

  • プログラムはコンソールにアートを書き込む必要があります。
  • 最短のコード(バイト単位、任意の言語)が優先されます。

優勝者はバレンタインデーの2月14日に選ばれます


2
私はこのコンテキスト固有のアスキーアートのトレンドが好きです。:)
アダムマラス14年

3
公正なコードゴルフであるためには、出力のより制限的な定義を与えるべきだと思います。
ハワード14年

3
誰かが生物学的に正確に見える心臓を提出するのを待っています。誰でもすぐに私から+1を受け取ります。
ジョー14年

2
@JoeSteadバレンタインデーのロマンチックな属性についてのあなたの考えは疑わしいようです:D
VisioN 14年

3
これははるかに優れていたでしょうpopularity-contest
SztupY 14年

回答:


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バイトの合計を、しかし、元の心はそのほか、もはや形ではありません:)
ビジョン

3
!!!素晴らしい仕事!!!
SpYk3HH 14年

1
太い矢印関数を使用すると、多くのバイトを節約できます。置換function(c){returnc=>て削除し}ます。短いバージョンを投稿してください!
フローレント14年

2
いいえ。EcmaScript6.
Florent 14年

1
@Florent Ah!私の知る限り、ECMAScript 6はまだ実験的であり、残念ながら、それがどのように機能するかをテストすることは非常に困難です。私のコードがECMAScript 5と互換性があると仮定し:)ましょう。しかし、指摘してくれてありがとう!ゴルフの問題でJavaScriptがPerlやPythonとすぐに競合し、誰もがそれを試せるようになることを願っています。
VisioN 14年

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はドローグ

1
心臓の曲線の素晴らしい使用!:あなたはまだ(私も少し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

あなたのアプローチが好きです^ _ ^
Navin 14年

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}

画面に2つの半円と1つの三角形を印刷し、かなりまともな心の複製を作成します。heart.scala出力の画像

scalaインタープリターを使用して実行する必要があります(コンパイルには追加のクラフを追加する必要がありますがobject Main { def main(args: Array[String]) = { ... } }、私はそのどれもありません。


2
@epidemian私はおそらくそれを通常の心臓のように見せることができたかもしれませんが、コードのサイズを誤って判断し、面倒でした。だから私は代わりに尾を作った。私はそれが気球のふりをするのが好き:p
KChaloux

12

Python 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行目の文字列に1文字のプレースホルダーを使用replace()してから、3行目のprint1 +を1 に,、9を10に変更します。最後の行では、変数xの値を使用します。pastebin.com/i1TSEZfE
manatwork

@manatworkありがとうございます。ボディを121文字まで編集しました:-)
ワシ14年

love水平方向をずらして得た右側の3つの垂直方向の数を数えていますloveか?
ジョシュアテイラー14年

@JoshuaTaylorありがとう、私はそれらの垂直方向に気づかなかったlove。それらを含めると、loveカウントは23:D
Wasi 14年

11

Perl-36バイト

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

出力:

  LoveLove    LoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
        LoveLove

これはちょっとしたごまかしです。Loveソースコード内の2つの非空白文字ごとに1回印刷されます。ハート型を作成するために必要な空白を使用すると、コードの長さは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
    これにより、printステートメントが変更され、各文字が繰り返されます。正規表現は/./明らかに1文字に一致し、リストコンテキスト/./gでは文字列内のすべての文字のリストを返します。これを記述するより一般的ですが、少し長い方法はになりますfor split//,'3h112a05e0n1l2j4f6b9'
  • print$"x(15&ord),Love,$/x/\D/
    特殊変数の$"デフォルトはスペースです。ORD各文字のinal値が16店舗を国防省各間に必要な数のスペースLove文字列の繰り返しを介して(x)。最後に、文字が数字(/\D/)でない場合、$/デフォルトのの値が"\n"最後まで追加されます。

:あなたの第2のプログラムがエラースロー/ \ D / for3h112a05e0n1l2j4f6b9 『「近く-e行1に構文エラーが発生しました、』(使用してコマンドラインから起動しようとした-e
トマス

コマンドラインから、あなたは交換する必要があります$"' 'perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
プリモ

OK、いいね!
トマス14年

36バイトバージョンでは、実際に必要な出力が印刷されません
トビア14

1
@simbabque完了しました。
プリモ

6

Wolfram言語(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|)をレンダリングし、次に上部の2つの円を結合します。x値はミラーリングされます(したがって、必要な円は1つだけです)。


1
0前の浮動数値を削除Math.absして変数に割り当てることにより、コードを短縮できます。
フローレント14年

また、最後の2つの不要なセミコロンを削除して、さらに数バイトを節約することもできます。
VisioN 14年

4

スクリッピング — 28文字/ 56バイト

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

出力:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

(または24文字:긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終—しかし、これは、このチャレンジが投稿された後に追加した指示を使用するため、カウントされません。)
Timwi 14年

これは84バイトです。
tobyink

いいえ、UTF-16で56バイトです。
ティムウィ14年

私にとって@Timwiは58バイトです。奇数。
primo 14年

@primo:56バイトです。Windowsのメモ帳で「Unicode」として保存すると、UTF-16 BOM(2バイト)と56バイトのプログラムで構成される58バイトのファイルが得られます。
ティムウィ14年

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 14年

一定 :)。提案をありがとう。
tigrou 14年

3

C、116文字

(これがハート型であるかどうかはわかりません...出力を生成するために3つの円の内側を塗りつぶします。)

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) ];
  }
}

私もこれをやらなければならないと感じました。:P

#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
ミカ14年

1
@Mickaグローバル変数は暗黙的にとして宣言されます。これはint、ANSI-C以前から借用されたレガシー機能です。clang foo.cまたはgcc -std=c99 foo.c(十分な警告が表示されます)でコンパイルできます。エラーが発生しましたか?Cは、未定義の動作に依存しないことを保証するほど十分には知りませんが、私そうしないと信じています。
ホタル14年

1
Hrm、どうやらそれはどの標準にも認可されていないようです。少なくともC90では合法だと思っていましたが、残念ながらそうではありません。それはほとんどのコンパイラは、([この脚注](参照とにかくサポートしていることを事前にANSI-Cから左だけレガシーことだだからen.wikipedia.org/wiki/...。ウィキペディア例えば上の)
ホタル

3

Ruby、47、またはGolfscript、41

退屈な答え。

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

Golfscriptバージョン:

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

出力:

 Love  Love
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
    Love

32
笑、なんてい心!: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。私はそれを垂直にするつもりはなかったでしょう。
アンドリューギーズ14年

3

APL、36文字/バイト*

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

で評価する必要が⎕IO←0あります(デフォルトは実装によって異なります)

* APLは、必要に応じてシングルバイト文字セットで記述できます(他のUnicode文字を使用しない限り)ので、カウントの目的でN文字= Nバイトです。

出力:

正確に20の「愛」が含まれています

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

2

拡張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バイトです
ヤンティ

1
あなたはこのコードを書いたプログラミング言語。
マーティン・エンダー

知っている !これはPythonです!ああ、あなたは削除することができますstrので、文字列repetionsとの通話を*より高い優先順位を持ちます+
TuxCrafting

実際、このコードの長さは682バイトです。
TuxCrafting

1

Perl-97文字

この答えは、@ Wasiの121文字のPythonソリューションに基づいています。

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

-M5.0105.10固有の機能を有効にするオプションを使用してperlを実行する必要があります。これは明らかに許可されています。

興味深い機能:

  • 変数を使用して$.「愛」という言葉を保存します。これは、必要に応じてすぐに別の単語が続くためです。$.for$.続くように明確にトークン化されforます; それ自体が正当な変数名であるため$_for$_後に続くようにトークン化されません。for$_for
  • $"、文字列に補間されるときに配列が結合される文字を表す組み込み変数が使用されます(デフォルトは単一のスペース文字になります)" "
  • Perlの文字列補間は、.replaceコードゴルフでpython メソッドを大幅に凌ぎます。
  • 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

Bash、170バイト

programFOXの完全なコピー:)

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.