空でない単一行の文字列を取り込むプログラムまたは関数を作成します。スペースを除いて印刷可能なASCIIのみが含まれていると想定できます。
文字列のプレフィックスから作られたレモンやライムに似たASCIIアート菱形の形状を印刷または返します。
入力文字列の長さがn文字であるとします。そして、このような形状で構成されて2N - 1つの縫い合わさASCIIアートの列、各なる2N - 1行。1から数えて、k番目の列はf(k)= min(k、2n-k)文字幅で、入力の最初のf(k)文字のf(k)コピーを含み、縦方向に中央揃えで、単一の空白を持ちます。コピーを分離する行。
たとえば、入力がのLemon
場合、出力は次のようになります。
Lemon
Lemo Lemo
Lem Lemon Lem
Le Lemo Lemo Le
L Lem Lemon Lem L
Le Lemo Lemo Le
Lem Lemon Lem
Lemo Lemo
Lemon
入力がlime
出力の場合:
lime
lim lim
li lime li
l lim lim l
li lime li
lim lim
lime
そして、他の入力についても同じパターンに従います。
a
a
Be
Be
B B
Be
/\
/\
/ /
/\
cat
cat
ca ca
c cat c
ca ca
cat
|||
|||
|| ||
| ||| |
|| ||
|||
.__.
.__.
.__ .__
._ .__. ._
. .__ .__ .
._ .__. ._
.__ .__
.__.
$tring
$tring
$trin $trin
$tri $tring $tri
$tr $trin $trin $tr
$t $tri $tring $tri $t
$ $tr $trin $trin $tr $
$t $tri $tring $tri $t
$tr $trin $trin $tr
$tri $tring $tri
$trin $trin
$tring
出力の行には末尾にスペースが含まれる場合があり、オプションの末尾改行が1つある場合があります。
バイト単位の最短コードが優先されます。